database

参考链接:

定义:

Relational Databse:

又名:

使用情况:Microsoft SQL,Oracle,My SQL

  • 大型企业:RDBM
  • 联网应用:MySQL

应用场景:

  • OLTP,用户可以对数据进行operation

Non-relational databases

又名:

使用情况:MongoDB, DocumentDB, Cassandra, Coachbase, HBase, Redis, and Neo4j

独特的Hadroop:

数据库的长短板:

VS Relational Databases Non-relational/NoSQL
优点 处理结构化数据 处理半结构化和无结构的数据
支持’joins’ 和ACID 部分支持ACID
一体化的,有大的生态系统 模式自由
系统能表达的关系是有约束的 高度可用的
SQL支持,并且有无限的索引 许多NOAQL数据库开源还免费
缺点 并发和数据大小有限制(水平方向) ‘joins’支持有限
规范化数据,数据之间的连接速度慢 非规范化,需要大量的更新
半结构化数据无法处理 内置数据不完整,需要手写代码
索引有限

NoSQL:

NOSQL可以使用数据结构: 树形:

  • xml
  • json

图:

  1. Key-Value Stores: [Redis]
    • Used for cache, queues fit in memory, rapidly changing data, and store blob data.
    • Examples: sensor data, shopping cart, leaderboards, graph data bases, stock prices. Fastest “performance.”
  • Document Stores: [MongoDB]

    • Have a flexible schemas, dynamic queries, defined indexes, good performance on big DB.
    • Examples: order data, customer data, log data, product catalog, user generated content (chat sessions, tweets, blog posts, ratings, comments). Fastest development.
  • Wide-Column Stores: [Cassandra]

    • Come with real-time querying of random (non-sequential) data, huge number of writes, sensors.
    • Examples: Web analytics, time series analytics, real-time data analysis, banking industry.

数据选择:

  • RDBMS is for enterprise OLTP and ACID compliance, databases under 1 terabyte.
  • NoSQL is for scaled OLTP and JSON documents.
  • Hadoop is for Big Data Analytics

附录:

数据的会议: