ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### ①键值(Key-Value)数据库\[Redis/Memcached\] 适用场景: 储存用户信息,比如会话、配置文件、参数、购物车等等。这些信息一般都和ID(键)挂钩,这种情景下键值数据库是个很好的选择。 不适用场景: 1.取代通过键查询,而是通过值来查询。Key-Value数据库中根本没有通过值查询的途径 2.需要储存数据之间的关系。在Key-Value数据库中不能通过两个或以上的键来关联数据。 3.事务的支持。在Key-Value数据库中故障产生时不可以进行回滚。 #### ②面向文档(Document-Oriented)数据库\[MongoDB\] 数据可以使用XML、JSON或者JSONB等多种形式存储。 适用场景:1.日志 2.分析 不适用场景:不支持事务 #### ③列存储(Wide Column Store/Column-Family)数据库\[HBASE\] 列存储数据库将数据储存在列族(column family)中,一个列族存储经常被一起查询的相关数据。举个例子,如果我们有一个Person类,我们通常会一起查询他们的姓名和年龄而不是薪资。这种情况下,姓名和年龄就会被放入一个列族中,而薪资则在另一个列族中。 适用场景:1.日志 2.博客平台,我们储存每个信息到不同的列族中。举个例子,标签可以储存在一个,类别可以在一个,而文章则在另一个。 不适用场景:1.ACID事务 2.原型设计。在模型设计之初,我们根本不可能去预测它的查询方式,而一旦查询方式改变,我们就必须重新设计列族。 #### ④图(Graph-Oriented)数据库\[Neo4J\] 适用范围很小,主要用用网络拓扑分析 如脉脉的人员关系图等 - - - - - -