No Sql Db Introduction
来源:互联网 发布:杨辉三角java 编辑:程序博客网 时间:2024/04/27 03:36
Summary :
1.Developers are working with new data types :
structured, semi-structured, unstructured and polymorphic data and massive volumes of it.
2.Now small teams work in agile sprints, iterating quickly and pushing code every week or two, even every day.
3.easy to apply agility interating , that is , code and test,before db design ,we have to start coding for key scenarios and do interating.
4.better scalable and performance
5.auto share ,work well in distribute deploy scenarios .
Go in details
Data Storage .
RMDB store row & column
For No Sql DB
document model : a structure like JSON .
Example :{
FirstName: "Jonathan",
Address: "15 Wanamassa Point Road",
Children: [
{Name: "Michael", Age: 10},
{Name: "Jennifer", Age: 8},
{Name: "Samantha", Age: 5},
{Name: "Elena", Age: 2}
]
}
product: MongoDB and CouchDB
graph model : store data in a graph structure.
Graph databases are useful in cases where relationships are core to the application, like social networks.
note(properties)->relation(do)->note(properties)
relation is just like FK in RMDB , that used to find another record , but defferent is in Graph model , no cross join happen , get better performance , can directly find the node .
Product: Neo4j and HyperGraphDB.
Key-value model :
Every item in the database is stored as an attribute name, or key,
together with its value. The value, however, is entirely opaque to the system; data can only be queried by the key. This model can be useful for representing polymorphic and unstructured data, as the database does not enforce a set schema across key-value pairs.
Product: Riak and Redis (Key-Value)
Query Model .
Document Model db :
it is important to have the ability to query based on several different values in each record. For instance, an application that stores dataabout customers may need to look up not only specific customers, but also specific companies, or customers by a certain deal size, or aggregations of customer types by zipcode or state.
In MongoDB, provide a rich set of indexing options to optimize a wide variety of queries, including compound indexes, sparse indexes, time to live (TTL) indexes,unique indexes, text indexes, geospatial indexes and
others.
Graph db :
These systems tend to provide rich query models where simple and complex relationships can be interrogated to make direct and indirect inferences about the data in the system. Relationship-type analysis
tends to be very efficient in these systems, whereas other types of analysis may be less optimal.
Key-Value db:
These systems provide the ability to retrieve and
update data based only on a primary key
data consistency .
NoSQL systems typically maintain multiple copies of the data for availability and scalability purposes. In these architectures, there different guarantees regarding the consistency of the data across copies.
NoSQL systems tend to be consistent or eventually consistent.
Resource
MongoDB Enterprise Download : mongodb.com/download
1 0
- No Sql Db Introduction
- No SQL DB初探
- mongo db sharding introduction
- Berkeley DB ——Introduction
- introduction to db--学习记录
- DB sql
- android studio introduction No.1
- [Uncle Bob Martin] NO DB
- Introduction to PL/SQL
- Introduction to SQL
- SQL Notes: Introduction
- ms sql DB操作
- create-db-10.sql
- Java DB SQL
- SQL Server系统db
- sql script create db
- [DB] SQL 复习1
- [DB] SQL 复习2
- Xcode编译错误和警告汇总(不断更新)
- 理解软链接和硬链接
- Phonegap之config.xml标签
- Java容器详解
- Java之美[从菜鸟到高手演变]之设计模式
- No Sql Db Introduction
- 归并排序及其时间复杂度分析
- 抽象类和接口有什么区别?
- Sprin 基础教程之二:spring 入门案例
- php页面间的传值
- Single Number (LeetCode)
- uva 11649 - Home! Sweet Home!(贪心+优先队列)
- 004_004 Python 循环访问列表元素和索引
- HDU 2156 分数矩阵