In a twist that has inevitable written all over it, the database industry has at last begun to take heed of the power of consumerization.
The once mighty RDBMS is now obliged to make room for an emerging and increasingly important partner in the data center: the graph database. Twitter’s doing it, Facebook’s doing it, even online dating sites are doing it; what they are doing is tracing relationship graphs. After all, social is social, and ultimately it’s all about relationships.
There are all kinds of graph databases and projects on the market right now, and most of them are purpose-built for a particular workload or platform. Some technologies are not even databases at all, but rather graph analytics engines that pull data from any convenient source, even Hadoop, and analyze it in the graph engine.
Twitter developed its graph database in house and released it as FlockDB to the open source community. Twitter designed it specifically to store relationships and activity between users. Facebook rolled out Graph Search to allow its users to query its Social Graph to discover connections that extend beyond “so-and-so is a friend of so-and-so.” As far as online dating, it’s primarily a matter of who dated whom and what worked out well, but it’s possible to create complex graphs of who liked or disliked what movies or band or food or sports team or whatever – and to recommend potential matches on such a basis and also to analyze what worked and what didn’t.
For a refresher, in case you’ve forgotten, graph databases are based on the mathematics of graph theory. They store data in terms of nodes, properties and edges. Nodes are entities which can have attributes just like in an RDBMS. The edges are the relationships (i.e., the connections between nodes) and the properties are attributes of the relationship. A simple example: John likes to listen to The Beatles. John (person entity) likes to listen to (property) The Beatles (band entity). John (person entity) watches videos of (property) The Beatles (band entity). So in this simple example: the nodes are person and band, the edge is the connection between person and band and it has properties. In this example, the properties of the edge linking person John to band The Beatles are: “likes to listen to” and “watches videos of.”
The point is that graph databases gather information about relationships between entities and standard relational databases are not built to do that. Now you can model your way around this problem by (in our example) defining a person-band table (i.e., entity) and recording the properties in that table along with the key value pairs that they relate to. Unfortunately, when you store data like that and you ask simple questions such as “what are the bands that John and Eric like but Rebecca and Iris do not like?” the RDBMS takes forever, or at least a long time, to get you an answer. Graph databases and technologies are built to answer such queries and serve up the answers quickly.
The Graph Database and the RDF Database
If, when you read the words “John likes to listen to The Beatles,” your mind said: “hey that’s a subject-predicate-object data triple,” you’re right and you’ve been spending far too much time in the land of RDF databases. The point is that RDF databases logically store data as triples, and hence, like graph databases they are also very good at answering queries that require the database to navigate its way around a graph.
Both RDF databases and graph databases do such things exceptionally well. However they are not exactly the same kind of engine either, at the logical level or the physical level. By definition, RDF databases standardize on the SPARQL query language (SPARQL is a recursive acronym of Sparql Protocol and RDF Query Language). These triple store databases needed a query language that went much further than SQL so that the semantic querying of data would be possible – which in turn would bring the world closer to the much-heralded-but-yet-to-actually-arrive semantic web.
SPARQL is, of course, emerging from its infancy, but it is already powerful. It is not just capable of semantic queries, it is capable of inferencing (or reasoning) with the data, which is a first for a query language. In time this may be a killer capability. You won’t just retrieve information, you will also be able to use the database to deduce new information by examining facts (assertions) in the data.
To lean on a famous example, an RDF database might contain the datum “All men are mortal,” and also the datum “Socrates is a man.” Through applying an inference to this data it would be able to declare new data: “Socrates is mortal.” Moving to another famous example: “Epimenides says that all Cretans are liars” and “Epimenides is a Cretan.” The database might (if programmed to avoid getting into endless loops) point out that here there is a contradiction in the data. Graph databases cannot do such things. But right now that probably doesn’t matter much, because it is still an explorative area of software.
Where the RDF databases really score is when you want to do set processing (a la SQL) at the same time that you want to do graph processing. Consider a query such as “Who are the biggest influencers on Twitter over the past six months?”
Both the RDF and Graph database would handle such a query and return the same results quickly. But if you ask the very different question, “Which influencers have had the same pattern of influence on Twitter over the last six months?” you are asking both for graph processing and set processing at the same time to get to the answer, and the RDF databases do both well. Not only that, but this is an area of analytics, which was virtually untapped until recently, because there was no software that could easily do it.
My personal belief is that this is what will separate the RDF databases from the graph databases in the end. Analytics. Graph analytics.
About the Author
Robin BloorSource: insideanalysis.com
I thought this blog admin is having well experienced because these posts are very creativity and very depth explanation. Thanks for sharing the unique details about this topic.
ReplyDeleteLinux Training in Chennai
Linux Course in Chennai
Best Linux Training Institute in Chennai
Excel Training in Chennai
Oracle Training in Chennai
Unix Training in Chennai
Corporate Training in Chennai
Embedded System Course Chennai
Oracle DBA Training in Chennai
Primavera Training in Chennai
ReplyDeleteI am really enjoying reading your well written articles.
It looks like you spend a lot of effort and time on your blog.
I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..
ccna Training in Chennai
ccna Training institute in Chennai
Angularjs Course in Chennai
Ethical Hacking Course in Chennai
Tally Course in Chennai
ccna course in chennai
ccna training in chennai
The way you presented the blog is really good. Thaks for sharing with us...
ReplyDeleteSoftware Testing Course in Madurai
Software testing Training in Madurai
Software Testing Course in Coimbatore
Software testing Training in coimbatore
Java Training in Bangalore
Java Training Institutes in Bangalore
AWS Training in Bangalore
data analytics courses in bangalore
Android Training in Madurai
Android Training in Coimbatore
CCNA Course in Coimbatore
Magnificent article!!! the blog which you have shared is informative...Thanks for sharing with us...
ReplyDeleteDigital Marketing Training in Coimbatore
Digital Marketing Course in Coimbatore
digital marketing institute in bangalore
best digital marketing courses in bangalore
digital marketing courses in bangalore
digital marketing training in bangalore
Software Testing Course in Coimbatore
Spoken English Class in Coimbatore
Web Designing Course in Coimbatore
Tally Course in Coimbatore
I would definitely thank the admin of this blog for sharing this information with us. Waiting for more updates from this blog admin.
ReplyDeleteBlue Prism Training in Chennai
Blue Prism Training
Azure Training in Chennai
Cloud Computing Training in Chennai
Automation Anywhere Training in Chennai
Blue Prism Training in Anna Nagar
Blue Prism Training in T Nagar
Blue Prism Training in OMR
Blue Prism Training in Porur
This is an awesome post.
ReplyDeleteReally useful information. Thank you so much for sharing
Digital Marketing Training in Chennai | Certification | SEO Training Course | Digital Marketing Training in Bangalore | Certification | SEO Training Course | Digital Marketing Training in Hyderabad | Certification | SEO Training Course | Digital Marketing Training in Coimbatore | Certification | SEO Training Course | Digital Marketing Online Training | Certification | SEO Online Training Course
nice post..contains lot of information
ReplyDeleteDigital Marketing Training in Coimbatore | Ethical Hacking Training in Coimbatore | React JS Training institute in Coimbatore | Android Training Institutes in Coimbatore | Java Training in Coimbatore | Best Salesforce Admin training in Coimbatore
9)Really very nice blog information for this one and more technical skills are improve,i like that kind of post. oracle training in chennai
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteInfycle Technologies offers the best Data Science Certification in Chennai and is widely known for its excellence in giving the best Data Science training in Chennai. Providing quality software programming training with 100% placement & to build a solid career for every young professional in the software industry is the ultimate aim of Infycle Technologies. Apart from all, the students love the 100% practical training, which is the specialty of Infycle Technologies. To proceed with your career with a solid base, reach Infycle Technologies through 7502633633.Get Data Science Certification in Chennai | Infycle Technologies
ReplyDeleteThis comment has been removed by the author.
ReplyDelete