What are the fundamental questions that makes you decide to use either RDF data store (triple store) or RDBMS like complex storage?
(lets keep the semantic inference aside)
|
3
3
|
What are the fundamental questions that makes you decide to use either RDF data store (triple store) or RDBMS like complex storage? (lets keep the semantic inference aside) |
|||
|
|
8
|
Great question. Broadly a triple store, like an RDBMS is a general purpose data storage engine. I could store any kind of data in either a triple store or a relational database. The trade-offs relate to areas where one type of storage engine excels over another in terms of flexibility, performance, etc AND other non-functional aspects like robustness, cost, strength of the ecosystem, etc. With this in mind, lets separate out the discussion into two areas.
Personally I would typically use an RDBMS for OLTP type applications -- i.e. where I need fast, transactional updates, such as in an ecommerce system. In these scenarios the data schema is typically small, is known in advance and the non-functional requirements emphasise performance, resilience, and the availability of a broad ecosystem of additional tools and services such as reporting engines. In contrast I would use a triple store in any scenario where my schema is less closely defined and particularly where the there is an wide range of different types of entity to be stored, and an evolving set of relationships between them. In the flexible, schema-free environment that a triple store provides, dealing with this kind of data is much, much easier. So I would typically use a triple store in any scenario where I know my schema is going to evolve rapidly over time; or where I'm dealing with integrating data from a wide range of sources but don't want or need to force that data into a single normalized schema. From my own development experience I've found triple stores to be a very agile backing store for rapid prototyping and experimentation. |
||
|
|
|
6
|
I find it much quicker to develop a data model using RDF. In the past, I've found normalising the data for an RDBMS a time consuming exercise and is easily broken when additional use cases are thrown at you. Taking a more semi-structured approach with RDF I find it quicker to prototype and more flexible to adapt as the project progresses. |
||
|
|