当前位置:Gxlcms > 数据库问题 > 缓存数据库初识

缓存数据库初识

时间:2021-07-01 10:21:17 帮助过:14人阅读

  • 上述观点的另一个方面是:面向模式的数据模型。当您为有潜在可能性会使用的RDBMS设计数据模型(表、关系等)时,您需要提出一个定义良好的模式:将会有许多表,每个表都有一个已知的列,以已知类型的格式存储数据(CHAR、NUMBER、BLOB等)。
  • 非常重要:考虑数据是否在本质上是事务性的。换句话说,在提供的事务上下文ACID语义中,数据是否会被存储、访问和更新,或者是否可以对这些属性进行折衷。
  • 正确性也很重要,任何妥协都是不可接受的。这源于这样一个事实,在大多数NoSQL数据库中,一致性被放弃,用以支持性能和可伸缩性。
  • 没有一个强烈的/迫切的需要拓展的数据库需求;将一个数据库(水平扩展)线性扩展到在集群中的多个节点的数据库。
  • 用例不用于“高速数据摄取”。
  • 如果客户机应用程序期望快速地将大量数据流到数据库中,那么关系数据库可能就不是一个好选择,因为它们实际上不是为编写繁重的工作负载而设计的。
  • 为了实现ACID属性,许多额外的后台工作都是在编写器(插入、更新、删除)代码路径中完成的。这肯定会影响性能。
  • 这个用例并不是为了“存储大量的pb级数据”。
  • 2.使用NoSQL数据库:

    • 没有固定的(和预先确定的)适合数据的模式
    • 可伸缩性、性能(高吞吐量和低操作延迟),持续可用性是数据库基础架构需要满足的非常重要的需求。 
    • “高速数据摄食”的最佳选择。这样的应用程序(例如IoT风格),每秒生成数百万个数据点,需要一个能够提供可伸缩性的极限写入数据库
    • 横向规模的NoSQL数据库的内在能力允许在集群中跨商品服务器存储大量数据。它们通常使用低成本的资源,随着需求的增长,它们能够线性增加计算和存储能力。

     

    3.NoSQL数据库的四大分类表格分析

    分类Examples举例典型应用场景数据模型优点缺点
    键值(key-value) Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。  Key 指向 Value 的键值对,通常用hash table来实现  查找速度快 数据无结构化,通常只被当作字符串或者二进制数据 
    列存储数据库 Cassandra, HBase, Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限
    文档型数据库  CouchDB, MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
    图形(Graph)数据库  Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 

    缓存数据库初识

    标签:动态   blank   构建   oracle   mongodb   接受   基础   cassandra   cabinet   

    人气教程排行