Curator's Note: This post was originally written back in February of 2012.
So, the point of this blog, you wonder anxiously? What a great question for a segue into an introduction!
I've been working in the IT field as a software engineer for some time and am currently the VP, Technology for a downtown-Toronto based software development firm. As such, it behooves me (what a great term) to at least try to keep up-to-date with emerging technologies, especially as they mature.
To that end, as of late, I've become fascinated with the whole NoSQL paradigm. Having spent most of my professional career dealing with RDBMSes, I was curious as to how the whole Big Data notion fit into things. Browsing through the myriad niches of NoSQL--from document-based to key-value based--and leaning more about the whole movement along the way, I came across one particular type of NoSQL database that really got me glued to the ceiling.
Coming from a background in not just computer science and software engineering, but mathematics as well (I attended the University of Waterloo up here in Ontario, Canada), the graph paradigm spoke volumes to me.
Sure, my math as it pertains to graphs may be a bit rusty, but it's something I clearly remember being rather interested in (should have taken more graph theory courses...).
Even more exciting is the fact that such databases existed. For those of us who understand (or at least know about) graphs, I think it's safe to say that we can all appreciate the representation of social networks, semantics, and other relationship-driven data, as graphs.
What hit me like a tonne of bricks (Lego or otherwise) was that graph-based databases have actually existed for some time. How long, exactly, I'm not 100% sure yet (as an example, one such database is neo4j which has been around since 2007).
The fact that highly-connected data could be so easily and directly represented in technology (along with the above) is what drove me to start digging deeper. Such data exists in abundance around the web (and elsewhere!).
So began my adventure into the realm of graph-based databases.
"What do you hope to accomplish with this blog? What are your goals?" Another astute question; one that I have anticipated to some degree:
- As much as I hope to inform and educate, this blog is as much to serve as a record of my journey into graph-based databases. I'm hoping that as I continue to learn that others may hopefully glean some knowledge/insight from my posts (however little or much that may be).
- As stated above (I'll repeat it for the sake of being explicit), I hope to educate and inform people as the world of graph-based databases expands and matures.
- To explore graph-based databases and their related concepts. This may include information on other aspects of NoSQL, or even deeper dives into graph theory.
- To give a base from which to derive a basic understanding of graphs and their databases.