最近学习了下NoSQL数据库,做个简单的整理,不足之处请指正。
定义:
NoSQL(Not Only SQL,不仅仅是SQL)泛指非关系型的数据库。它是为了解决大规模数据集合以及多种数据类型带来的问题,尤其是大数据应用难题。NoSQL数据库并没有一个统一的架构,各有所长。
NoSQL数据库适用的场景有:
1、数据模型比较简单,不需要高度的数据一致性;
2、需要灵活性更强的IT系统;
3、对数据库性能要求较高;
4、对于给定key,比较容易映射到复杂的值。
Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库
八种常见的NoSQL数据库
Redis,HBase, Mongodb, Membase、Neo4j ,Cassandra, CouchDB, Riak
简单介绍两个:
Redis
• 所用语言:C/C++ ,特点:运行异常快,支持哈希表(带有多个域的对象)
• 支持事务
应用场景:适用于数据变化快且数据库大小可预见(适合内存容量)的应用程序。例如:股票价格、数据分析、实时通讯、实时数据搜集。
HBase(配合 ghshephard使用)
HBase数据库是安全特性最完善的NoSQL数据库产品之一,而其他的NoSQL数据库多数没有提供内建的安全机制
• 所用语言: Java,特点:支持数十亿行X上百万列,使用许可: