纸上得来终觉浅 绝知此事要躬行

纸上得来终觉浅 绝知此事要躬行

一些数据库学习的小结:

SQL: 遵循ACID原则。支持Transaction。适合在线交易处理(OLTP),不适合在线分析处理(OLAP)。例子有
MySQL 读写效率 单机约1KQPS
POSTGRESQL

NoSQL: 遵循BASE原则。不支持Transaction。例子有
DynamoDB - Amazon Key-Value
BigTable - Google
MangoDB - 读写效率 单机约10QPS
Cassandra - 读写效率 单机约10QPS
Redis - 内存数据库 Key-Value 读写效率 单机约100KQPS
Memcached - 内存数据库 单机约1MQPS ?

NoSQL 有四种类型

  • Document Stores: Document以JSON,XML, PDF或OFFICE Document等格式存储,称为BLOB。例子有MangoDB, CouchDB。
  • Graph Databases: Neo4j, VertexDB
  • Key-Value Stores: Key存在Hash-table里面。支持通常的CRUD操作,不支持JOIN和AGGREATE操作 (因为Hash函数不支持Range Query的操作)。键值数据库主要运行在内存,实现定期向硬盘读写数据的策略。例子有Redis, Memcached, Riak(是DynamoDB的开源实现), DynamoDB。
  • Columnar Databases: 适合在线分析处理(OLAP),不适合在线交易处理(OLTP)。MariaDB, Cassandra, HBase, Vertica

下面这些帖子讲的不错。
https://devpress.csdn.net/awstech/64e730eaa3cccc782cc5672e.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTI0ODc4MCwiZXhwIjoxNzAxNDE5Mjk3LCJpYXQiOjE3MDA4MTQ0OTcsInVzZXJuYW1lIjoicm91Zm9vIn0.OEngDhSlFpKn1WbVxkceyS8kl3lY3KBG7Qk5U_LVGG8
https://www.sohu.com/a/348809104_315839

11-25 22:52