Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

bashitKV - probably the smallest database in the world 🚀

License: MIT Size in bytes Made with Bash

The minimalist's key-value store. Because sometimes, less is more. Way more.

Out of frustration with overengineered "modern tools", we present a dead simple local* KV database that might even be ACID compliant (in your face mongoDB 😉). 4 lines of code is all you need to be ready to store your wildest dreams, and that includes 33% more code than is really needed!

*optionally distributed, see below...

🚀 Quick Start

curl https://raw.githubusercontent.com/GitToby/bashitKV/refs/heads/main/bashitKV.sh | source

or install in your terminal:

curl https://raw.githubusercontent.com/GitToby/bashitKV/refs/heads/main/bashitKV.sh > ~/bashitKV.sh && echo "source ~/bashitKV.sh" >> ~/.bashrc

💫 Features

  • Blazingly Fast: It's basically just your filesystem
  • Zero Dependencies: No npm install, no package.json, no problem
  • ACID Compliant: (probably)
  • Native Permissions: Built right into your OS
  • Cloud Ready: Through the power of NFS

📚 API Reference

Create/Update

bashit_set mykey myvalue
bashit_set mykey2 1234
bashit_set mykey3 $(date)
bashit_set mykey4 $(curl -s example.com)

Read

bashit_get mykey

Or search through your data:

bashit_scan filter_kw

Delete

bashit_delete mykey

🔒 Security

bashitKV leverages your OS's built-in permission system. Want to protect your keys?

chmod 700 mykey

💾 Backups

Enterprise-grade backup solution included:

cp -R ~/.database ~/.bkup

🌐 Distributed Systems

Need horizontal scaling? I've got you covered:

NFS - Because if it's good enough for the 80s, it's good enough for your microservices.

⚡ Performance Benchmarks

Coming soon™

🤝 Contributing

PRs are welcome! Whether it's fixing a typo or adding that one feature that makes bashitKV web scale, we'd love to have your contributions. Remember less is more, id like to get bashitKV as close as possible to the nocode ethos.

⚠️ Disclaimer

This is an educational piece on how simple databases can be. With 4 lines of code we can create a persistent KV store and explain how simple datastores actually work. I initially made this as a joke blog post to explain that even complex systems like postgres and mariadb are just files and processes. All you do as a software engineer is read or write or do silly sums in more and more complex ways - there is no magic.

While I wouldn't recommend it for your next unicorn startup's production environment, I'd love to hear implementation stories if you try it anyway!

📜 License

MIT - Do what you want and maybe give us a shout out.


Made with ❤️ and sarcasm

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages