O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Próximos SlideShares
Characteristics of no sql databases
Avançar
Transfira para ler offline e ver em ecrã inteiro.

7

Compartilhar

NoSQL Options Compared

Baixar para ler offline

NoSQL Options Compared

  1. 1. NoSQL Options Compared Different Horses for Different Courses
  2. 2. NoSQL Options Compared Different Horses for Different Courses <ul><li>The current world of NoSQL </li></ul><ul><li>The NoSQL model </li></ul><ul><li>NoSQL classes </li></ul><ul><li>Which model should you use </li></ul><ul><li>Best use (& use cases comparison) </li></ul><ul><li>Choosing the Right Horse </li></ul><ul><li>Lessons learned from actual use </li></ul>
  3. 3. The current world of NoSQL The current world of NoSQL RDBMS 105+ databases NoSQL 122+ databases Forecast NoSQL market expected to reach $3.4 Billion by 2018 NoSQL market revenue $14 Billion over 2013 – 2018 RDBMS are great and ... will be fine
  4. 4. Recap: RDBMS are great <ul><li>SQL </li></ul><ul><li>ACID </li></ul><ul><li>Well understood by developers </li></ul><ul><li>Well supported by frameworks and tools </li></ul><ul><li>Backups </li></ul><ul><li>Tuning </li></ul><ul><li>Recovery support </li></ul>
  5. 5. RDBMS are great, but... <ul><li>Difficult to handle relational schema </li></ul><ul><li>Schema changes </li></ul><ul><li>Difficult to scale writes </li></ul><ul><li>Vertical scaling is limited </li></ul><ul><li>Horizontal scaling is limited </li></ul>
  6. 6. Bridging NoSQLQL divide <ul><li>Interest in using NoSQL technology has reemerged: </li></ul><ul><li>Oracle released MySQL + NoSQL memcached plugin </li></ul><ul><li>More: </li></ul><ul><li>Neo4J announced JDBC (SQL) driver </li></ul><ul><li>Cassandra + CQL </li></ul><ul><li>CouchBase + UnQL </li></ul>
  7. 7. NoSQL model promotes <ul><li>Schema-free approach </li></ul><ul><ul><ul><ul><ul><li>Flexible data models </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>No unneeded complexity </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Strict data consistency might be unnecessary </li></ul></ul></ul></ul></ul><ul><li>Big data amount </li></ul><ul><li>H igh throughput </li></ul><ul><li>Over RDBMS expensive in performance </li></ul><ul><li>BASE (not ACID) </li></ul><ul><ul><ul><ul><ul><li>Eventually consistent </li></ul></ul></ul></ul></ul><ul><li>Simple API </li></ul>
  8. 8. NoSQL models 31% Key Value 10% Document 13% Graph 9% Column Family 6% XML 10% Object 21% Other
  9. 9. NoSQL models <ul><li>Column Oriented Store - each storage block contains data from only one column </li></ul><ul><li>Document Store - stores documents made up of tagged elements </li></ul><ul><li>Key Value Store - hash table of keys </li></ul><ul><li>Graph Database - stores data in the nodes and relationships of a graph </li></ul>
  10. 10. NoSQL candidates to compare Key Value / Tuple Store Document Store Graph Database Wide Column Store / Column Families Database <ul><li>Redis </li></ul><ul><li>open source </li></ul><ul><li>networked </li></ul><ul><li>in-memory </li></ul><ul><li>key-value </li></ul><ul><li>optional durability </li></ul><ul><li>written in ANSI C </li></ul><ul><li>CouchBase </li></ul><ul><li>open source </li></ul><ul><li>high-performance </li></ul><ul><li>map/reduce </li></ul><ul><li>schema-free </li></ul><ul><li>document-oriented </li></ul><ul><li>written in C, C++, Erlang </li></ul><ul><li>Neo4j </li></ul><ul><li>open source </li></ul><ul><li>embedded or server </li></ul><ul><li>disk-based </li></ul><ul><li>transactional </li></ul><ul><li>d ata stored in graphs </li></ul><ul><li>written in Java </li></ul><ul><li>Cassandra </li></ul><ul><li>open source </li></ul><ul><li>no single point of failure </li></ul><ul><li>column family store </li></ul><ul><li>tunable consistency </li></ul><ul><li>written in Java </li></ul>
  11. 11. Comparison General Information Redis CouchBase Neo4j Cassandra Language C C, C++, Erlang Java Java Commercial Support Third party companies Consulting & Support with Enterprise Neo4j Advanced, Neo4j Enterprise DataStax, Impetus, Acunu, Riptapo, Cubet Technologies Customers GitHub, Guardian Media Group Zynga, AOL, BBC Adobe, Cisco, StudiVZ, Deutsche Telekom, Fanbox Twitter, Digg, Reddit, Rackspace, Facebook Licenses New BSD Community & Enterprise Licenses GPL or AGPLv3 Apache License 2
  12. 12. Comparison Queries & Operations Redis CouchBase Neo4j Cassandra Client Libraries Bindings + RESTTTP non-vBucket or v-Bucket Bindings + RESTTTP Thrift based C + + n/a + C++ n/a + n/a + C# + + + + Java + + + + Perl + + + + PHP + + n/a + Python + + + + Ruby + + + + Querying - - - - Secondary Indexes n/a + - + Map/Reduce n/a n/a n/a Hadoop supported ACID transactions n/a + + +/- (tunable consistency)
  13. 13. Best Use Redis CouchBase Neo4j Cassandra Real-time systems where low latency is critical (games) Syncing online and offline data (allows synchronization and sharing of data and applications across multiple platforms and mobile devices) Cloud/network management Managing large streams of non-transactional data: apache logs, application logs, etc High performance caching tier for web sites and other applications Social and online gaming Social, geospatial data Consistent, fast response times under writes (high volume writes) Server for backed sessions or transient data Data management layer for recommendation engine Bioinformatics Real-time analytics & statistics Service offering some real-time statistics Highly available solution
  14. 14. Which model should you use? Column Oriented Store Document Store Key Value Store Graph Database More specific: which NoSQL database?
  15. 15. Answer <ul><li>This depends on your case! </li></ul><ul><li>Compare your problems to others </li></ul><ul><li>Evaluate characteristics of NoSQL storage: </li></ul><ul><ul><li>Maturity </li></ul></ul><ul><ul><li>Connectivity/Querying/Operations </li></ul></ul>
  16. 16. More aspects to consider <ul><li>How big is your data </li></ul><ul><li>Massive read/write throughput </li></ul><ul><li>Fast key-value access </li></ul><ul><li>No single point of failure </li></ul><ul><li> Tunable Brewer's CAP trade-offs: </li></ul><ul><ul><ul><li>Consistency </li></ul></ul></ul><ul><ul><ul><li>Availability </li></ul></ul></ul><ul><ul><ul><li>Partition Tolerance </li></ul></ul></ul><ul><li>Maintainability, Administration </li></ul>
  17. 17. Lessons learned from actual use <ul><li>Start small, but significant </li></ul><ul><li>Is not “one size fits all”, but “horses for courses” </li></ul><ul><li>Consider a Hybrid Approach (NoSQL + RDBMS) </li></ul>
  18. 18. Lessons learned from actual use Hybrid Approach NoSQL RDBMS Business Facade Two Databases: NoSQL + RDBMS Key Value Storage for Session Data + RDBMS for User Data Column Storage for Reporting Data + RDBMS for User Data
  19. 19. Q&A <ul><li>Thank you for attention </li></ul><ul><li>mail: [email_address] </li></ul><ul><li>skype: siarhei_bushyk </li></ul>
  • Sobieslaw

    Jan. 26, 2015
  • li__paul

    Aug. 9, 2014
  • EyalV

    Oct. 4, 2013
  • mortezadariushi

    Mar. 1, 2013
  • mindserfer1

    Sep. 27, 2012
  • alexverdyan

    Sep. 6, 2012
  • nvitorovic

    Jun. 17, 2012

Vistos

Vistos totais

8.050

No Slideshare

0

De incorporações

0

Número de incorporações

73

Ações

Baixados

265

Compartilhados

0

Comentários

0

Curtir

7

×