Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Introduction to NuoDB

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 19 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Introduction to NuoDB (20)

Publicité

Introduction to NuoDB

  1. 1. Sandun Perera Geveo Australasia 02nd July 2015
  2. 2. What is NuoDB? NuoDB is the first and only emergent database that is;  100% SQL compliant  100% ACID transactions  Elastically scalable  Highly resilient and requires minimal database administration Your SQL database wasn’t designed to scale elastically in the cloud. However as your traffic grows, the database simply must scale. But it’s hard. SQL databases - every single one - were designed to run on the traditional client server systems that were architected back in the last century. They are all monolithic, synchronous, and centralized, which means that performing actions like doing a CRUD operation for a single record in the database, requires locking the database on the master node.
  3. 3. Key features  100% SQL - NewSQL looks and behaves just like a traditional SQL database but scales and provides the same flexibility of NoSQL. Developers can focus on building scalable applications using the same SQL tools they know and have come to trust like DbVisualizer, Hibernate and Active Record.  100% ACID - Guaranteed atomicity, consistency, isolation, and durability (ACID). NuoDB fully supports ACID transactions so no compromises are required when it comes to the accuracy of your data.  Elastically Scalable - NuoDB allows you to horizontally scale out or in without bringing down the system, changing a single line of code, or giving up the power of SQL. Your applications behave as expected whether you add one node or one hundred nodes.
  4. 4.  Built-in Redundancy - Disaster recovery at the database level is now a thing of the past. You no longer need to spend double on redundant hardware that will sit idle until there is a disaster. NuoDB’s distributed architecture will continue to operate as a single cohesive database even if there are multiple points of failure. Its peer-to-peer architecture makes it easy to deal with hardware failures and power outages without any downtime.  Multi-Tenancy - NuoDB allows you to deploy one or more databases within a single administrative domain via the NuoConsole. This greatly reduces the administrative burden of configuring, managing and monitoring the NuoDB system.  Auto Replication - Low latency environments often require a separate replicated database to support operational reporting requirements. With NuoDB you are no longer required to setup extraneous processes to support operational intelligence reporting. Simply add another storage node to the database and let NuoDB handle the replication for you.
  5. 5.  Easy Administration - NuoDB is designed for simplicity and (almost) zero administration. It’s simple to monitor your database and add or remove nodes to a running database. No sharding or caching strategies are needed.  Built-in Security - Cloud deployment always begs the question “how secure is my data?”. NuoDB is not an SQL database retrofitted for the cloud; it was born? to live in the cloud. All asynchronous peer-to-peer communication between NuoDB transaction and storage nodes is secure and encrypted by default. And NuoDB can be easily configured to persist data to an encrypted file store. You are no longer required to make the security vs. performance trade-offs associated with traditional databases.  NuoConsole - Centralized monitoring of your decentralized database is made easy with the NuoDB monitoring web app. The NuoConsole allows you to start and stop your database, add additional resources to your database such as Transaction Engines and Storage Managers, and monitor your database in real-time.
  6. 6.  Developer Tools - Integrate NuoDB with the most popular development frameworks like JAVA EE, Ruby on Rails, Zend, Coldfusion, .NET, node.js, Python and many others to build new applications or to scale existing ones. NuoDB works seamlessly with many ORM tools such as Hibernate, Active Record, and PHP PDO.  Heterogeneous Deployment - The Emergent Architecture provides an unprecedented level of deployment flexibility. NuoDB is the only database system that can be distributed across a heterogeneous set of operating systems and infrastructure resources that include the cloud, large data centres, or local commodity hardware, and still continue to function as a single instance of a database. NuoDB runs on Windows, MacOS, Linux, and Solaris platforms today.
  7. 7. Emergent architecture  An emergent architecture is characterized by simple, autonomous actions by individual components producing complex, coordinated behaviors in the overall system.
  8. 8. Atomicity NuoDB is an asynchronous, decentralized, peer-to-peer database and object-oriented. Objects in NuoDB know how to perform various actions that create specific behaviors in the overall database. And every object in NuoDB is an Atom. An Atom in NuoDB is like a single bird in a flock. Atoms are self-describing objects (data and metadata) that together comprise the database. Everything in the NuoDB database is an Atom, including the schema, the indexes, and even the underlying data. For example, each table is an Atom that describes the metadata for the table and can reference other Atoms; such as Atoms that describe ranges of records in the table and their versions.
  9. 9. Atoms are Powerful Atoms are intelligent, powerful, self-describing objects that together form the NuoDB database. Atoms know how to perform many actions, like these:  Atoms know how to make copies of themselves.  Atoms keep all copies of themselves up to date.  Atoms can broadcast messages. Atoms listen for events and changes from other Atoms.  Atoms can request data from other Atoms.  Atoms can serialize themselves to persistent storage.  Atoms can retrieve data from storage.
  10. 10. Consistency via Asynchronous Decentralized Messaging Atoms communicates P2P asynchronously. This is ideal for the decentralized nature of an elastic cloud infrastructure. A key reason to a traditional SQL database is so hard to scale in the cloud is that it operates synchronously, relying on a single master node to lock the database and orchestrate transactions. They weren’t designed for the decentralized, asynchronous nature in the cloud. In a NuoDB database, using object-oriented Atoms, it is able to perform all the coordinated actions of a traditional SQL database (CRUD a record) without locking. When an Atom changes in NuoDB, it informs all other instances of itself in all other locations, transactionally replicating the changes via asynchronous message queues. It is the right mechanism in the context of the decentralized, geographically disparate, shared-nothing architecture of the cloud.
  11. 11. The Atoms are the Database  Everything in NuoDB database is an Atom, and the Atoms are the database. The Atoms work in concert to form both the Transaction and the Storage tiers.  A NuoDB Transaction Engine is a process that executes the SQL layer and is comprised completely of Atoms. The Transaction Engine operates on Atoms, listens for changes, and communicates changes with other Transaction Engines in the database.  A NuoDB Storage Manager is simply a special kind of Transaction Engine that allows Atoms to serialize themselves to permanent storage (such as a local disk or Amazon S3).  A NuoDB database can be as simple as a single Transaction Engine and a single Storage Manager, or can be as complex as tens of Transaction Engines and Storage Managers distributed across dozens of computer hosts.
  12. 12. 12 Rules of A Cloud Data Management System (CDMS) 1. Modern Superset of an RDBMS 2. Elastic Scale-out for Extreme Performance 3. Single Logical Database 4. Run Anywhere, Scale Anywhere 5. Nonstop Availability 6. Dynamic Multi-tenancy 7. Active/Active Geo-distribution 8. Embrace Cloud 9. Store Anywhere, Store Redundantly 10. Workload Mix 11. Tuneable Durability Guarantees 12. Distributed Security 13. Empower Developers & Administrators Source: http://go.nuodb.com/rs/nuodb/images/NuoDB_12_Rules_v 4.pdf
  13. 13. Development with .NET  JRE – Java Runtime Environment  .NET Framework  NuoDB driver for ADO.NET  NuoDB Provider for Entity Framework (EF5)
  14. 14. Video demos  NuoDB in 90 seconds  https://vimeo.com/52935940  The NuoDB Distributed DBMS Architecture  https://vimeo.com/63356635  NuoDB Continuous Availability Demo  https://vimeo.com/119475588
  15. 15. The demo
  16. 16. References  http://www.nuodb.com/  http://www.vimeo.com/nuodb  http://newsql.sourceforge.net/  http://www.nuodb.com/groups/drivers-and-tools/
  17. 17. Any Questions?
  18. 18. “ ” How NuoDB is unique from other databases?  Emergent architecture  Everything is an atoms  Minimum administration  CDMS + RDBMS + NoSQL + NewSQL  100% (SQL + ACID + Availability)  No (sharding + caching)  Heterogeneous deployments
  19. 19. Thank you!

Notes de l'éditeur

  • ACID
    Atomicity
    Atomicity requires that each transaction is "all or nothing": if one part of the transaction fails, the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not leave effects on the database at all, as if it never existed.

    Consistency
    The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including but not limited to constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors do not violate any defined rules.

    Isolation
    The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e. one after the other. Providing isolation is the main goal of concurrency control. Depending on concurrency control method, the effects of an incomplete transaction might not even be visible to another transaction.

    Durability
    Durability means that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors. In a relational database, for instance, once a group of SQL statements execute, the results need to be stored permanently (even if the database crashes immediately thereafter). To defend against power loss, transactions (or their effects) must be recorded in a non-volatile memory.

×