OrientDB is a multi-model NoSQL database that combines features of graph databases, document databases, and relational databases. It supports ACID transactions, SQL queries, and a native graph data model with features like relationships, complex types, and schema-less flexibility. OrientDB is open source, lightweight, and easy to configure and use.
Benefits of Using MongoDB Over RDBMS (At An Evening with MongoDB Minneapolis ...MongoDB
Rapid Development and Performance By Transitioning from RDBMSs to MongoDB
Modern day application requirements demand rich & dynamic data structures, fast response times, easy scaling, and low TCO to match the rapidly changing customer & business requirements plus the powerful programming languages used in today's software landscape.
Traditional approaches to solutions development with RDBMSs increasingly expose the gap between the modern development languages and the relational data model, and between scaling up vs. scaling horizontally on commodity hardware. Development time is wasted as the bulk of the work has shifted from adding business features to struggling with the RDBMSs.
MongoDB, the premier NoSQL database, offers a flexible and scalable solution to focus on quickly adding business value again.
In this session, we will provide:
- Overview of MongoDB's capabilities
- Code-level exploration of the MongoDB programming model and APIs and how they transform the way developers interact with a database
- Update of the exciting features in MongoDB 3.0
CouchDB is a document-oriented database that uses JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. Each of these properties alone, especially MapReduce views, may seem foreign to developers more familiar with relational databases. This tutorial will teach web developers the concepts they need to get started using CouchDB in their projects. CouchDB’s RESTful HTTP API makes it suitable for interfacing with any programming language. CouchDB libraries are available for many programming languages and we will take a look at some of the more popular ones.
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. This talk will answer your basic questions about CouchDB, but will focus on building CouchApps and related tools.
Benefits of Using MongoDB Over RDBMS (At An Evening with MongoDB Minneapolis ...MongoDB
Rapid Development and Performance By Transitioning from RDBMSs to MongoDB
Modern day application requirements demand rich & dynamic data structures, fast response times, easy scaling, and low TCO to match the rapidly changing customer & business requirements plus the powerful programming languages used in today's software landscape.
Traditional approaches to solutions development with RDBMSs increasingly expose the gap between the modern development languages and the relational data model, and between scaling up vs. scaling horizontally on commodity hardware. Development time is wasted as the bulk of the work has shifted from adding business features to struggling with the RDBMSs.
MongoDB, the premier NoSQL database, offers a flexible and scalable solution to focus on quickly adding business value again.
In this session, we will provide:
- Overview of MongoDB's capabilities
- Code-level exploration of the MongoDB programming model and APIs and how they transform the way developers interact with a database
- Update of the exciting features in MongoDB 3.0
CouchDB is a document-oriented database that uses JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. Each of these properties alone, especially MapReduce views, may seem foreign to developers more familiar with relational databases. This tutorial will teach web developers the concepts they need to get started using CouchDB in their projects. CouchDB’s RESTful HTTP API makes it suitable for interfacing with any programming language. CouchDB libraries are available for many programming languages and we will take a look at some of the more popular ones.
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. This talk will answer your basic questions about CouchDB, but will focus on building CouchApps and related tools.
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
MongoDB is opensource DB, CRUD with MongoDB is not as same with other DB using SQL statements it can be achieved using NoSQL json queries which i have try explained here.
Slides for presentation on Cloudera Impala I gave at the DC/NOVA Java Users Group on 7/9/2013. It is a slightly updated set of slides from the ones I uploaded a few months ago on 4/19/2013. It covers version 1.0.1 and also includes some new slides on HortonWorks' Stinger Initiative.
You may all know that JSON is a subset of JavaScript, but… Did you know that HTML5 implements NoSQL databases? Did you know that JavaScript was recommended for REST by HTTP co-creator Roy T. Fielding himself? Did you know that map & reduce are part of the native JavaScript API? Did you know that most NoSQL solutions integrate a JavaScript engine? CouchDB, MongoDB, WakandaDB, ArangoDB, OrientDB, Riak…. And when they don’t, they have a shell client which does. The story of NoSQL and JavaScript goes beyond your expectations and opens more opportunities than you might imagine… What better match could you find than a flexible and dynamic language for schemaless databases? Isn’t an event-driven language what you’ve been waiting for to manage consistency? When NoSQL doesn’t come to JavaScript, JavaScript comes to NoSQL. And does it very well.
Development time is wasted as the bulk of the work shifts from adding business features to struggling with the RDBMS. MongoDB, the leading NoSQL database, offers a flexible and scalable solution.
Slides from a talk I gave at MongoNYC on using MongoDB with Drupal. I will most likely be doing this as a webcast and giving this presentation at Drupalcamp NYC 8 this July.
Using Spark to Load Oracle Data into CassandraJim Hatcher
This presentation describes how you can use Spark as an ETL tool to get data from a relational database into Cassandra. I go through the concept in general and then talk about some specific issues you might run into and how to fix them.
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesMongoDB
This is the fourth webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will introduce you to the aggregation framework.
MongoDB is an open-source document database, and the leading NoSQL database. Written in C++.
MongoDB has official drivers for a variety of popular programming languages and development environments. There are also a large number of unofficial or community-supported drivers for other programming languages and frameworks.
This is a presentation on CouchDB that I gave at the New York PHP User Group. I talked about the basics of CouchDB, its JSON documents, its RESTful API, writing and querying MapReduce views, using CouchDB from within PHP, and scaling.
This presentation was given at the LDS Tech SORT Conference 2011 in Salt Lake City. The slides are quite comprehensive covering many topics on MongoDB. Rather than a traditional presentation, this was presented as more of a Q & A session. Topics covered include. Introduction to MongoDB, Use Cases, Schema design, High availability (replication) and Horizontal Scaling (sharding).
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
MongoDB is opensource DB, CRUD with MongoDB is not as same with other DB using SQL statements it can be achieved using NoSQL json queries which i have try explained here.
Slides for presentation on Cloudera Impala I gave at the DC/NOVA Java Users Group on 7/9/2013. It is a slightly updated set of slides from the ones I uploaded a few months ago on 4/19/2013. It covers version 1.0.1 and also includes some new slides on HortonWorks' Stinger Initiative.
You may all know that JSON is a subset of JavaScript, but… Did you know that HTML5 implements NoSQL databases? Did you know that JavaScript was recommended for REST by HTTP co-creator Roy T. Fielding himself? Did you know that map & reduce are part of the native JavaScript API? Did you know that most NoSQL solutions integrate a JavaScript engine? CouchDB, MongoDB, WakandaDB, ArangoDB, OrientDB, Riak…. And when they don’t, they have a shell client which does. The story of NoSQL and JavaScript goes beyond your expectations and opens more opportunities than you might imagine… What better match could you find than a flexible and dynamic language for schemaless databases? Isn’t an event-driven language what you’ve been waiting for to manage consistency? When NoSQL doesn’t come to JavaScript, JavaScript comes to NoSQL. And does it very well.
Development time is wasted as the bulk of the work shifts from adding business features to struggling with the RDBMS. MongoDB, the leading NoSQL database, offers a flexible and scalable solution.
Slides from a talk I gave at MongoNYC on using MongoDB with Drupal. I will most likely be doing this as a webcast and giving this presentation at Drupalcamp NYC 8 this July.
Using Spark to Load Oracle Data into CassandraJim Hatcher
This presentation describes how you can use Spark as an ETL tool to get data from a relational database into Cassandra. I go through the concept in general and then talk about some specific issues you might run into and how to fix them.
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesMongoDB
This is the fourth webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will introduce you to the aggregation framework.
MongoDB is an open-source document database, and the leading NoSQL database. Written in C++.
MongoDB has official drivers for a variety of popular programming languages and development environments. There are also a large number of unofficial or community-supported drivers for other programming languages and frameworks.
This is a presentation on CouchDB that I gave at the New York PHP User Group. I talked about the basics of CouchDB, its JSON documents, its RESTful API, writing and querying MapReduce views, using CouchDB from within PHP, and scaling.
This presentation was given at the LDS Tech SORT Conference 2011 in Salt Lake City. The slides are quite comprehensive covering many topics on MongoDB. Rather than a traditional presentation, this was presented as more of a Q & A session. Topics covered include. Introduction to MongoDB, Use Cases, Schema design, High availability (replication) and Horizontal Scaling (sharding).
Webinar Back to Basics 3 - Introduzione ai Replica SetMongoDB
Un set di repliche in MongoDB è un gruppo di processi che mantengono copie dei dati su diversi server di database. Assicurano ridondanza e disponibilità elevata e sono la base di tutte le distribuzioni in produzione di MongoDB.
Running Neutron at Scale - Gal Sagie & Eran Gampel - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
For the past 2 years we’ve been working on running OpenStack in ever growing scales. In Juno we started Dragonflow, a Neutron integrated distributed SDN project with an ambitious goal – scaling to 10,000 physical servers in a single zone. Although we’re not there yet, we’re definitely on the right track.
Dragonflow employs the following principles
• Pluggable NoSQL DB – to adapt for different size deployments and SLAs
• Distribution of Policies rather than flows – moving the “brain” to the edges
• Distributed architecture – enforcing network policies in the compute nodes
• Hybrid flow pipeline – Utilizing both proactive and reactive flows to easily allow built-in distributed smart apps (e.g. distributed DHCP)
Security regarding NoSQL Databases Still remain a question.Not much research done these databases,this paper concentrates on some of the major NoSQL databases and their flaws
Modeling Tricks My Relational Database Never Taught MeDavid Boike
In this session we will explore several modeling scenarios from my own experience that can easily be achieved using RavenDB, but difficult (if not nearly impossible) to build using a classic relational database. The focus will be on helping those accustomed to SQL Server or other relational databases learn good document modeling skills by example, with a summary of document modeling guidelines at the end.
2. Artem Orobets
Senior Java Developer
in ExigenServices
1.5 year in Java
OrientDB committer
Andrey Lomakin
Software Architect
in ExigenServices
6+ years JEE experience
OrientDB committer
3. OrientDB
=
best features of newest NoSQL
solutions
+
best features of Relational DBMS
+
True Graph engine
www.orientechnologies.com
4. Relationships
are direct links
no Relational JOINS to connect multiple tables
Load trees and graphs in few ms!
www.orientechnologies.com
5. Complex types
native support for collections, maps
(key/value)
and embedded documents
no more additional tables to handle them
www.orientechnologies.com
6. Schema-mixed
schema with mandatory and optional fields + constraints
the best of schema-less and schema-full modes
www.orientechnologies.com
14. Binary protocol
available for Java
and soon C, C++ and Ruby
www.orientechnologies.com
15. MVRB-Tree index
the best of B+Tree and RB-Tree
fast on browsing, low insertion cost
www.orientechnologies.com
16. Hooks
similar to triggers
catch events against records, database and transactions
implement custom cascade deletion algorithm
enforce constraints
www.orientechnologies.com
19. The actors
Leader Node Only 1 per Leader per cluster, checks other nodes and
notify changes to other Peer Nodes.
Any server node in the cluster. Has a permanent
Peer Node connection to the Leader Node
Clients are connected to Server Nodes no matter if Leader
Client
or Peer
Database Database, where data are stored
Synchronous mode replication.
Asynchronous mode replication.
20. Cluster auto-discovering
At start up each Server Node sends a IP Multicast message in broadcast to
discover if any Leader Node is available to join the cluster.
Server #1
(Leader) DB DB
DB DB
DB DB
Server #2
(Peer)
DB DB
DB DB
DB DB
21. One Leader Multiple Peers
The first node to start is always the Leader but in case of failure can be elected
any other.
Server #1
(Leader) DB DB
DBDB
DB DB
Server #2 Server #3
(Peer) (Peer)
DB DB
DBDB
DB DB DB DB
DBDB
DB
22. Security
To join a cluster the Server Node has to configure the cluster name and
password
Broadcast messages are encrypted using the password
Server #1
(Leader)
Server #2 Join the cluster
(Peer) ONLY
If knows the name
DB DB
DB DB
DB DB and password
23. Multiple clusters
Multiple separate clusters can coexist in the same network
Clusters can't see each others. Are separated boxes
What identify a cluster is name + password
Cluster 'A', password
'aaa'
Server #1 Cluster 'B', password
(Leader) 'bbb'
Server #2 Server #1
(Peer) (Leader)
Server #3
(Peer) Server #2
(Peer)
Server #3
(Peer)
25. Synchronous Replication
steps
Client #1
6) Sends back OK to Client
1) Update record #1
request 3) Propagates the
update
Server #1 Server #2
2) Update record to DB-1 5) Sends back OK to Server #1 4) update record to DB-2
DB-1 DB-2
26. Asynchronous Replication
Changes are propagated without waiting for the answer
Two databases could be not consistent in the range of few
ms
Server #1 Server #2
DB-1 DB-2
27. Asynchronous Replication
steps
(4a and 4b are executed in parallel)
Client #1
4a) Sends back OK to Client #1
1) Update record request
3) Propagates the update
Server #1 Server #2
2) Update record to DB-1 4b) update record to DB-2
DB-1 DB-2
28. Conflict Management
The conflicts resolution strategy can be plugged by
providing implementations of the
OReplicationConflictResolver interface
Server #2
Conflict Strategy DB-2
29. Conflict Management
Default strategy
Server #2
Default implementation:
Conflict mark is created
Default
and conflict should be Conflict
DB-2
resolved manually Strategy
Conflict Log
30. Graph Database model
wrapper on top of Document Database
Few simple concepts: Vertex, Edge,
Property and Index
www.orientechnologies.com
31. 2 different API
OGraphDatabase All APIs
Native, damn fast, not the most beautiful API are compatible
among them!
So use the
right one
for the right
case
OrientGraph
TinkerPop Blueprints, slowest but:
common to other impls, Gremlin, SPARQL
www.orientechnologies.com
32. TinkerPop technologies
sort of “standard” for GraphDB
a lot of free open-source projects
http://tinkerpop.com
www.orientechnologies.com
33. TinkerPop Blueprints
basic API to interact with GraphDB
implements transactional and
indexable property graph model
bidirectional edges
www.orientechnologies.com
34. TinkerPop Gremli
scripting language
easy to learn and understand
Used for operations against graphs
www.orientechnologies.com
36. Inheritance
OgraphVertex (V) OgraphEdge (E)
Person Works Reside Knows
Vehicle
Address :
Address
brand : BRANDS s
since : since : Date Level :
Date till : Date LEVELS
Custome Provider
r totBuyed :
totSold : float float
www.orientechnologies.com
37. Polymorphic SQL Query
List<ODocument> result = database.query( new
OSQLSynchQuery(
"select from Person where city.name = 'Rome'" ));
Queries are polymorphics
and subclasses of Person can be
part of result set
www.orientechnologies.com
38. Fetch plans
Choose what to fetch on query and vertexes/edges loading
Vertexes/Edges not fetched will be lazy-loaded on request
Optimizes network latency
www.orientechnologies.com
39. Fetch plans
Load only the root vertex
Vertex = *:1
Luca
|
| lives city
+---------> Vertex ------------> Vertex
| 10th street Italy
| knows
+--------->* [Vertex Vertex Vertex ]
[ Marko John Nicholas]
www.orientechnologies.com
40. Fetch plans
Load root + address
Vertex = *:1 lives:2
Luca
|
| lives city
+---------> Vertex ------------> Vertex
| 10th street Italy
| knows
+--------->* [Vertex Vertex Vertex ]
[ Marko John Nicholas]
www.orientechnologies.com
41. Fetch plans
Load root + all known
Vertex = *:1 knows:1
Luca
|
| lives city
+---------> Vertex ------------> Vertex
| 10th street Italy
| knows
+--------->* [Vertex Vertex Vertex ]
[ Marko John Nicholas]
www.orientechnologies.com
42. Fetch plans
Load up 3rd level of depth
Vertex = *:3
Luca
|
| lives city
+---------> Vertex ------------> Vertex
| 10th street Italy
| knows
+--------->* [Vertex Vertex Vertex ]
[ Marko John Nicholas]
www.orientechnologies.com
43. Console
ORIENT database v.1.0.0 www.orientechnologies.com
Type 'help' to display all the commands supported.
> connect remote:localhost/demo admin admin
Connecting to database [remote:localhost/demo] with user 'admin'...OK
> select from profile where nick.startsWith('L')
---+--------+--------------------+--------------------+--------------------+
#| REC ID |NICK |SEX |AGE |
---+--------+--------------------+--------------------+--------------------+
0| 10:0|Lvca |male |34
1| 10:3|Leo |male |22
2| 10:7|Luisa |female |27
3 item(s) found. Query executed in 0.013 sec(s).
> close
Disconnecting from the database [demo]...OK
> quit
www.orientechnologies.com
44. OrientDB Studio/SQL query
Resultset is editable and
changes are immediately
persistent!
www.orientechnologies.com
48. NuvolaBase.com (beta)
The first
Graph Database
on the Cloud
always available
few seconds to setup it
use it from app & mobile
www.orientechnologies.com
49. User’s reasons to chose
Only one graph DB with cloud computing
support, high flexibility of data format,
powerful data analyzes (SQL + Gremlin),
JDBC driver, huge reduction of integration
time, good technical support.