Nosql

Páginas: 5 (1231 palabras) Publicado: 24 de agosto de 2010
INLS 760- Web Databases NOSQL

O. Alaba Doctoral Student School of Information and Library Science University of North Carolina at Chapel Hill 13 April 2010

Special Thanks to Matt Thomas for his contribution to this presentation.

What is NOSQL?
DEFINITION: Next Generation Databases address some of the following points: being non-relational, distributed, open-source and horizontalscalable. The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply as: schema-free, replication support, easy API, eventually consistency, and more. So the misleading term "NOSQL" (the community now translates it mostly with "not only sql") should be seen as an alias to something like the definition above. from:NOSQL-databases.org

What is NOSQL?
• “Not only SQL” • Non-relational: flat file database • Horizontally scalable: new nodes or modules can be
easily added for more users.

• Vertically scalable: can easily add more information. • Structured storage: usually a collection of tables of
structured data (like a hash table or a dictionary) .

What is NOSQL?
• NOSQL was first developed in thelate 1990’s by Carlo
Strozzi. • No ‘join’ operator. • No ACID (atomicity, consistency, isolation, durability)

• No predefined schema • No need to map object-oriented designs into a
relational model. • Examples: Google’s BigTable, Amazon’s Dynamo. Cassandra (used in Facebook’s inbox search) and HBase (Apache) are open source

ACID (for relational databases)
• ATOMICITY: All or nothingRequires a lot of resources, and does not scale very well

• CONSISTENCY: Any transaction should result in valid tables. • ISOLATION: separate transactions • DURABILITY: Database will survive a system failure.

Problems with Relational DBs
• Poor Scalability!
Digg: 3 TB for "Green Badges“ Facebook: 50 TB for Inbox Search Ebay: 2 PB overall

• Poor server-to-server performance • Rigidschema design

CAP (for NOSQL databases)
even with concurrent updates.

For easy scalability

• CONSISTENCY : All database clients see the same data, • AVAILABILITY : All database clients are able to access
same version of the data.

• PARTITION TOLERANCE : The database can be split over
multiple servers.
from: http://books.couchdb.org/relax/intro/eventual-consistency

Different Levelsof Consistency
• Strict Consistency (one copy serializability) • Read your write consistency • Session consistency • Monotonic Read Consistency • Eventual Consistency

from: http://horicky.blogspot.com/2009/11/NOSQL-patterns.html.

Types of NOSQL Structures

There are a number of models.

Document Store: focuses on documents. Documents can vary in size; information can always be added toit. eg. FirstName="Jonathan", Address="15 Wanamassa Point Road", Children=("Michael,10", "Jennifer,8", "Samantha,5", "Elena,2") • Large collections of items organized into domains. • Items are little hash tables containing attributes of key, value pairs. • Attributes can be searched with various lexicographical queries. • eg. MondoDB, Apache’s CouchDB, and Amazon’s SimpleDB.

Types of NOSQLStructures
Graph: is a network database that uses edges and nodes to represent and store data.

• Social networking • Represent the real world • eg. Neo4j

Types of NOSQL Structures eg. Neo4j

Written in Java; stores nodes and relationships and each can store properties in key-value form.

Video: http://blog.neo4j.org/2010/02/top-10-ways-to-get-to-know-neo4j.html

Types of NOSQLStructures eg. Neo4j
To create a small graph: Node firstNode = graphDb.createNode(); Node secondNode = graphDb.createNode(); Relationship relationship = firstNode.createRelationshipTo( secondNode, MyRelationshipTypes.KNOWS ); firstNode.setProperty( "message", "Hello, " ); secondNode.setProperty( "message", "world!" ); relationship.setProperty( "message", "brave Neo4j " );

The graph will look like...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • NoSql
  • NoSQL
  • Nosql
  • Cassandra
  • sql
  • Nosql
  • base de datos 2 nosql
  • Bases De Datos NoSQL

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS