I think buzhug can make life easier in some Python applications.
- Python syntax means you need not deal with any SQL syntax. It might not replace a Database Abstraction Layer, but it can help do away with the ORM.
- It can be used as a Python package, meaning that you can just package it with your application and start using it. You can install it so that multiple applicatoins can use it if you want to, but even the directory works.
- Using buzhug you can reduce the hosting requirements of your application. The data is stored on the disk, but there is no requirement for a DBMS on the host.
- The syntax for querying and data retrieval is intuitive.
- It supports concurrency control through versioning, that is, you can check the version numbers during retrieval and updating of the information.
- The programmability also means that we can do everything through Python, including creating the bases. This can help in easing installation procedure for the users.
There is a different terminology, in the sense that you create bases instead of tables. And you can still link between them to get the advantage of relational mapping. The bases are implemented as Python packages, so one can actually go through them while learning it. There is a disadvantage of the speed with buzhug, but I wonder if it can be compensated by using caching.
I want to create a blog application using buzhug. I have felt the need before, and there are a couple of reasons for it. One is that it will help me learn and vindicate my assumption about buzhug better, and secondly Python blogging applications are not really popular. There are some very good frameworks out there, and probably a lot of custom built applications too. But either they are not redistributable or not easy enough to install for the common man. Maybe buzhug can help us with that. What do you think?