Your SlideShare is downloading. ×
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
NoSQL - what's that
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

NoSQL - what's that

2,851

Published on

Overview of NoSQL in general, its types and available most pop

Overview of NoSQL in general, its types and available most pop

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,851
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
106
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Atomicity. All of the operations in the transaction will complete, or none will.Consistency. The database will be in a consistent state when the transaction begins and ends.Isolation. The transaction will behave as if it is the only operation being performed upon the database.Durability. Upon completion of the transaction, the operation will not be reversed.
  • Consistency. The client perceives that a set of operations has occurred all at once.Availability. Every operation must terminate in an intended response.Partition tolerance. Operations will complete, even if individual components are unavailable.http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
  • Basically Available. Supportingpartial failures without total system failure.Soft state. The state can be inconsistent for a given period of time.Eventual consistency. After some time all replicas will have consistent data.For a given accepted update and a given replica eventually either the update reaches the replica or the replica retires from service
  • http://labs.google.com/papers/bigtable.htmlhttp://labs.google.com/papers/gfs.htmlhttp://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf
  • Transcript

    • 1. NoSQL – What’s that?
      SergejusBarinovas | Microsoft MVP
      @sergejusb, sergejus.blogas.lt
    • 2. NoSQL
    • 3. WHY?
    • 4.
      • Limited SQL scalability
      Horizontal partitioning (sharding)
      Vertical partitioning
      NoSQL – Why?
    • 5.
      • Limited SQL availability
      Master / slave configuration
      NoSQL – Why?
    • 6.
      • SQL limitations for storing huge amount of data
      Key / value / type columns
      NoSQL – Why?
    • 7.
      • Limited SQL speed of read/write operations
      Multiple read replicas
      NoSQL – Why?
    • 8.
      • 2009, Eric Evans
      • 9. NoSQL – open source distributed databases, not relational SQL databases
      • 10. NoSQL – not only SQL
      • 11. NoSQL->Big Data
      NoSQL History
    • 12.
      • The ability to horizontally scale simple-operation throughput over many servers
      NoSQL Characteristics (scalability)
    • 13.
      • A “weaker” concurrency model than the ACID transactions in most SQL systems
      NoSQL Characteristics (BASE)
    • 14.
      • Efficient use of distributed indexes and RAM for data storage
      NoSQL Characteristics (distributed)
    • 15.
      • The ability to dynamically define new attributes or data schema
      NoSQL Characteristics (schema-less)
    • 16.
      • Atomicity – all or nothing
      • 17. Consistency – state integrity
      • 18. Isolation – no reads of uncommitted data
      • 19. Durability – recover committed trans
      ACID (transactions)
    • 20.
      • 2000, Eric Brewer
      It is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:
      • Consistency
      • 21. Availability
      • 22. Partition tolerance
      CAP Theorem
    • 23.
      • Basically – partial system failures are OKAvailable
      • 24. Soft state – inconsistency is OK
      • 25. Eventual consistency – stale data is OK
      BASE (eventual consistency)
    • 26.
    • 27. NoSQL Databases
    • 28.
      • Key / value store
      • 29. Document database
      • 30. Graph database
      • 31. Columnar database
      NoSQL Categories
    • 32.
      • <key, value> or Tuple<key, v1,. ., vn>
      • 33. Simple operations
      Get
      Put
      Delete
      Key / value store
      Key
      Value
      Byte[]
      Byte[]
    • 34. Key / value store
      Key
      Value
      “current_date”
      2011.01.16
      “sergejusb”
      Binary Object
      “sergejusb”
      JSON Object
    • 35. Key / value store
    • 41. Name: Dynamo
      Created: 2007, Amazon (proprietary)
      Implementation: ?
      Distributed: Yes
      Replication: Multiple Servers
      CAP: AP
      API: ?
      Key / value store
    • 42. Name: Membase
      Created: 2010, sponsored by Zinga
      Implementation: C / C++ / Erlang
      Distributed: Yes
      Replication: Multiple Servers
      CAP: CP
      API: Memcached API, JSON
      Key / value store
    • 43. Name: Voldemort
      Created: 2008, LinkedIn
      Implementation: Java
      Distributed: Yes
      Replication: Multiple Servers
      CAP: AP
      API: Java
      Key / value store
    • 44. Name: Redis
      Created: 2009, sponsored by VMWare
      Implementation: C
      Distributed: No
      Replication: Master / Slave
      CAP: CP
      API: Various Languages
      Key / value store
    • 45. Name: Azure Table Storage
      Created: 2008, Microsoft
      Implementation: ?
      Distributed: Yes
      Replication: Multiple Servers (DFS)
      CAP: CP
      API: .NET API, JSON
      Key / value store
    • 46. Name: Riak
      Created: 2008, Basho (from Akamai)
      Implementation: Erlang
      Distributed: Yes
      Replication: Multiple Servers
      CAP: AP
      API: JSON
      Key / value store
    • 47.
      • Document == complex object
      XML
      YAML
      JSON / BSON
      • Support for secondary indexes
      • 48. Schema can be defined at runtime
      • 49. Optional support for simple querying using Map / Reduce
      Document database
    • 50. Document database
    • 53. Name: MongoDB
      Created: 2008, 10gen
      Implementation: C++
      Distributed: Yes via Shards
      Replication: Master / Slave
      CAP: CP
      API: BSON
      Document database
    • 54. Name: CouchDB
      Created: 2005
      Implementation: Erlang
      Distributed: Sort of
      Replication: Master / Master
      CAP: AP
      API: JSON
      Document database
    • 55. Name: RavenDB
      Created: 2010, AyendeRahien
      Implementation: C#
      Distributed: Yes via Shards
      Replication: Master / Master
      CAP: AP
      API: .NET API, JSON
      Document database
    • 56.
      • Graph == network
      • 57. Basic constructs
      Node
      Edge
      Properties
      Graph database
      sergejus.blogas.lt
      reads
      authors
      knows
      sergejus
      tdagys
      knows
    • 58. Graph database
    • 60. Name: FlockDB
      Created: 2010, Twitter
      Implementation: Scala
      Distributed: Yes
      Replication: Multiple Servers
      CAP: AP
      API: Thrift, Ruby
      Graph database
    • 61. Name: Neo4J
      Created: 2003, NeoTechnologies
      Implementation: Java
      Distributed: No
      Replication: Master / Slave
      CAP: CP
      API: JSON, Various Languages
      Graph database
    • 62.
      • For HUGE amount of data
      • 63. Columns are added at a runtime
      • 64. Great scalability
      Horizontal
      Vertical
      Columnar database
    • 65.
      • Unusual data model
      Key Space == Database
      Column Family == Table
      Columns and Super Columns
      Super Column == array of Columns
      Column == Tuple<Key, Value, Timestamp, TTL>
      Columnar database
    • 66. Columnar database
      • Simple Column
    • Columnar database
      • Super Column
    • Columnar database
    • 70. Name: BigTable
      Created: 2006, Google
      Implementation: C++
      Distributed: Yes
      Replication: Multiple Servers (GFS)
      CAP: CP
      API: C++
      Columnar database
    • 71. Name: Cassandra
      Created: 2008, Facebook
      Implementation: Java
      Distributed: Yes
      Replication: Multiple Servers
      CAP: AP
      API: Thrift, Avro
      Columnar database
    • 72. Name: HBase
      Created: 2007, Powerset
      Implementation: Java
      Distributed: Yes
      Replication: Multiple Servers (HDFS)
      CAP: CP
      API: Thrift, Java, JSON
      Columnar database
    • 73. Name: Hypertable
      Created: 2007, Zvents
      Implementation: C
      Distributed: Yes
      Replication: Multiple Servers
      CAP: CP
      API: Thrift
      Columnar database
    • 74.
      • ORDER BY ?
      “Natural Key Order”
      NoSQL Limitations
    • 75.
      • GROUP BY ?
      Map / Reduce
      NoSQL Limitations
    • 76.
      • JOIN ?
      Multiple Map / Reduce
      NoSQL Limitations
    • 77.
      • SELECT * ?
      Multi-Machine Map / Reduce
      NoSQL Limitations
    • 78. NoSQL Limitations
    • 81.
      • Choose the right tool for the task
      • 82. You can use BOTH
      SQL vs. NoSQL
    • 83. Q & A

    ×