I'm curious what databases people are using for their projects, and why you might have decided on that.
I'll list some of the databases I've used and my experiences with them.
I'm using PostgreSQL for a Python project, alongside SQLAlchemy as the ORM. The data model for the project is fairly complex, so it's been good to have SQL for the flexibility.
One downside so far has been that some of the queries have gotten pretty gnarly, and modifying them can feel like moving blocks in a Jenga tower.
Performance can also be a little unpredictable. For instance, one query either took ~400ms or 20 seconds to execute. In that case, the query was executing immediately after a big insert, and the table statistics were out of date, causing the planner to generate a really poor plan.
Issuing an ANALYZE command refreshed the table stats, and the planner started producing the 400ms version of the query. As far as I know, it's not possible to pin a query plan in PostgreSQL.
My experience with Cassandra was mixed. I think this was because the project was not well suited to an eventually consistent key-value store. The application developers spent a lot of time coming to terms with eventual consistency, lack of transactions, and the rigidity of the data model.
Cassandra can, however, support an amazingly high write through-put. If you don't need the flexibility of SQL, and a single machine can't support your demands, then Cassandra might be a viable option.
I'd love to hear what databases you're using, as well as the positives and negatives that come with them.
when should you quit your current job to pursue your goals. I see postings all the time of how people quit their job saved up money for x time and begin working toward there goal of getting a better career. I want to talk about the other half of this for a minute of is this really a smart move?