https://www.youtube.com/watch?v=n2Fluyr3lbc&ab_channel=Fireship
tweet
I would say if you don’t know what to choose, go with PostgreSQL. For small projects, you can use SQLite, but it's for very small ones without potential to grow or for tools or microservices. Otherwise, PostgreSQL is my choose as the main DB. I might consider MongoDB if there are specific reasons.
PostgreSQL, often referred to as Postgres, is a powerful, open-source relational database management system (RDBMS).
- Data storage: It efficiently stores structured data in tables, supporting various data types.
- SQL support: Postgres uses SQL (Structured Query Language) for querying and manipulating data.
- ACID compliance: It ensures data integrity through Atomicity, Consistency, Isolation, and Durability.
- Scalability: Postgres can handle large volumes of data and concurrent users.
- Advanced features: It supports complex queries, indexing, transactions, and stored procedures.
- Data analysis: Postgres is often used in data science workflows for storing, querying, and analyzing large datasets.
- Integration: It integrates well with various programming languages and data science tools.
- Extensions: Postgres offers numerous extensions, including PostGIS for spatial data handling.
- Reliability: It's known for its robustness and ability to maintain data integrity.
- Open-source: Being free and open-source makes it accessible and customizable.
Turn PostgreSQL into vector database
Vector Database - Basics
pgvector
Think of PostgreSQL as an extremely powerful and flexible database system that stores data in tables with rows and columns, similar to spreadsheets but much more sophisticated.
Now, regarding vector databases - they're specialized databases designed to store and query vector embeddings (numerical representations of data like text, images, or audio that AI models can understand). What's interesting is that PostgreSQL can indeed be turned into a vector database through extensions, primarily using pgvector.