3 ms·
Postgres is pretty mature, robust and easy to use, it does a reasonably good job of adopting ANSI SQL standards. It has partitioning and replication support out
by dougabug 11y ago
Postgres is pretty mature, robust and easy to use, it does a reasonably good job of adopting ANSI SQL standards. It has partitioning and replication support out of the box, scales well across multiple processors, large amounts of RAM, has a decent query planner, performs sequential scans and hash joins efficiently, parallel scans, can do a form of index only scan as well as bitmap index conversions, supports data warehouse friendly functions such as analytic/windowing functions as well as connect-by clauses and (recursive and non-recursive) CTE's, pipelined table functions and custom aggregate functions. It also has Foreign Data Wrappers (FDW), so you can map your CSV's and other databases to virtual tables/partitions, MVCC concurrency (readers don't block writers and writers don't block readers) and row level locks, you can set the transaction isolation level appropriate to your requirements, logical constraints (foreign keys, uniqueness, CHECK constraints, uniqueness within intervals), extensible domain indexes (GIST/GIN, GIS geospatial indexes, full text search, k-Nearest Neighbor search support). Basically, it has a ton of functionality for data analysis, it's easy to use, reasonably efficient and reliable. You could build a whole company on it (Instagram, Pandora, Skype, and many others) and there are many SaaS options (eg Heroku, Amazon).
- i_am_lost 11y agoWow! thanks for the comprehensive reply!