Database

download Database

If you can't read please download the document

Transcript of Database

  1. 1. Graph Database
  2. 2. N(ot) O(nly) SQL In computing, NOSQL (commonly interpreted as "Not Only SQL") is a broad class of database management systems identified by non-adherence to the widely used relational database management system model. Next Generation Databases mostly addressing some of the points : being "non-relational", "distributed", "open-source" and "horizontally scalable. The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply such as: Schema-free Easy replication support Simple API A huge amount of data ...
  3. 3. Why NOSQL ? The exponential growth of the volume of data generated by users, systems and sensors. Further accelerated by the concentration of large part of this volume on big distributed systems like Amazon, Google and other cloud services. The increasing interdependency and complexity of data, accelerated by the Internet, Web2.0, social networks and open and standardized access to data sources from a large number of different systems.
  4. 4. NOSQL DBs Categories NOSQL Databases categories according to the way they store the data Key/Value stores BigTable implementations Document store databases Graph databases
  5. 5. Problem ? A person can have many friends; and you might want to track the date the friendship link was created, or whether the two people are married.
  6. 6. RDBMS Solution The solution in a SQL database is a join table. In the people/friends example, your join table might be called friendships. Disadvantages : Greatly increase the number of tables in your database, and may make it hard to tell apart standard tables (nodes) from join tables (edges). which makes it more difficult for new developers to comprehend the database architecture. The biggest weakness is that queries against relationship data - be it in join table or a reference link - are extremely unwieldy.
  7. 7. Why Graph Databases ?! Among other things, relationship queries in RDBSes can be complex, slow and unpredictable Graph databases are designed for this sort of thing, the queries are more reliable. The weakness with reference fields becomes apparent as soon as you want to do many-to-many relationships, or store data about the relationship.
  8. 8. Graph Databases A graph database uses graph structures with Nodes Edges properties to represent and store data. A graph database is any storage system that provides index-free adjacency. The relationships between people in social networks is the most obvious example.
  9. 9. Graph Databases Structure A thing (a person, a book, a website) is referred to as a node. A relationship between two things (a friendship, a related book, an href) is referred to as an edge.
  10. 10. Graph Databases Structure
  11. 11. Graph Database Projects
  12. 12. OrientDB OrientDB is an open source NOSQL database management system written in Java. Even if it is a document-based database, the relationships are managed as in graph databases with direct connections between records. OrientDB uses a new indexing algorithm called MVRB- Tree, derived from the Red-Black Tree and from the B+Tree; This reportedly has benefits of having both fast insertions and ultra fast lookups.
  13. 13. OrientDB Features : Transactional: supports ACID Transactions. On crash it recovers pending documents. GraphDB: native management of graphs. SQL: supports SQL language with extensions to handle relationships without SQL join, manage trees and graphs of connected documents Web ready: supports natively HTTP, RESTful protocol and JSON without use 3rd party libraries and components. Run everywhere: the engine is 100% pure Java: runs on Linux, Windows and any system that supports Java technology. Apache 2 License: always free for any usage. No fees or royalties required to use it. Light: has a footprint of about 1Mb for the full server. No dependencies from other software. No other libraries needed. Commercial support available.