DB - SQL, NoSQL
I have used different databases - SQL(relational) and NoSQL(non-relational), depending on the project.
In Python often I would use Pandas to load data from db into a dataframe, process the data, and save the data.
In Java, I have used either API like JDBC or ORM like Hibernate.
In C++ i have used db library c-tree Plus, which allows you to design your own index structures and have a db of SQL or NoSQL flavor. Below is a description of how c-tree Plus was used in one of my projects.
All database-related activities were my responsibility, covering both data management and code. We have used the c-tree Plus library as an embedded db engine in the application process address space.
To simplify and standardize database access, I developed an application-specific Object-to-Datastore Mapping library-essentially a wrapper around c-tree. This wrapper was used by the entire development team for all database calls.
Later, I added SQL support to the library, enabling integration with Sybase as an SQL database. The transition from c-tree to Sybase was smooth, and developers had the flexibility to choose between an embedded database and a Sybase server, depending on the needs of each project.
SQL
Often the projects that I was on required different levels of SQL handling.
For one project i did a conversion from Oracle, PL/SQL to Python, Pandas, MySQL. Pandas was used, but a lot of work was done in SQL scripts.
For another project that was PostgreSQL based, I wrote a database schema conversion script and developed a synchronization module between an application cache and a database. Triggers were developed in PL/pgSQL, C, and Python. It's a very nice feature of PostgreSQL to have different languages that can be used for stored procedures; in my case, Python code that replaced the code originally written in PL/pgSQL was more simple.
NoSQL
My experience with NoSQL databases includes OO db, Graph db, and in-memory key–value database.
OO db was used for a Quartz based project.
Graph db. On one of the projects I was assigned a ticket to fix a time critical task. It turned out that the task was spending nearly an hour on one db query when other queries were in seconds, it was - Neo4j. A workaround around Neo4j issue was found and the time of the query was reduced from about an hour to several seconds, Neo4j has very good docs.
Below are some of the databases that I was using:
PostgreSQL, Oracle, MySQL, SQLite, Sandra, Neo4j, SYBASE, SQL Server, Redismore ...