SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


The Relational Database is the Default


The Relational Database is the Default

Author
Message
Steve Jones
Steve Jones
SSC Guru
SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)

Group: Administrators
Points: 302674 Visits: 20005
Comments posted to this topic are about the item The Relational Database is the Default

Follow me on Twitter: @way0utwest
Forum Etiquette: How to post data/code on a forum to get the best help
My Blog: www.voiceofthedba.com
Dave Poole
Dave Poole
SSC-Dedicated
SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)

Group: General Forum Members
Points: 32432 Visits: 3668
You know how newbies are convinced that DRI can be handled by the app? They are ALWAYS proved to be wrong. Every single time.
Its hard enough getting Data Quality right in a disciplined data repository such as an RDBMS. In MongoDB what you persist has to be a valid JSON document. That's it. You can stick your granny's fruit cake recipe in the middle of records from a flight recorder and as far as the DB is concerned that is perfectly OK.
The use case for MongoDB is when you have a rapidly evolving schema or something that requires a highly flexible schema such as a SurveyMonkey type application and possibly product catalogue management.
Most of us will never see the loads and data volumes that caused the excitement for NOSQL in the first place. I don't work for Facebook or Netflix or a company requiring high frequency trading.
The value in NOSQL is that it has forced us to revisit assumptions and identify weaknesses that need to be addressed.
1. How do we provide full text search capabilities that are genuinely useful?
2. How should we handle log data?
3. How should we handle transient data such as web sessions
4. How should we handle queueing
5. How should we handle and traverse flexible relationships where the relationship itself is as valuable as the data items participating in those relationships?
When you use different technologies to solve your problems you mustn't lose sight of the fact that your solution creates its own problems (integration for example). The problems you create may be bigger than the problems you solve

LinkedIn Profile
www.simple-talk.com
Dalkeith
Dalkeith
Ten Centuries
Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)

Group: General Forum Members
Points: 1186 Visits: 1219
Not convinced but should put my hand up to say that I've not come across a single instance where I've needed it. Think going forward the point at which people and organisations transition to NOSQL will become larger and larger because problem cases will be increasingly solved as we transition to better hardware and improved bandwidth.

On point 5 of David's post I would argue that you can set up relational databases to have a key value format - I kind of like that format for somewhat random child records where parents can have very variable number and type of child records and my investigation of that format was brought about by trying to understand what everyone was talking about with NOSQL.

It is a very good point that the relationships in the data is as important as the data. A point that people starting out don't always get.
Dave Poole
Dave Poole
SSC-Dedicated
SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)SSC-Dedicated (32K reputation)

Group: General Forum Members
Points: 32432 Visits: 3668
Point 5 will be addressed by evolution of the new graph capabilities of SQL Server. It's made a good start but NEO4J is quite a long way ahead

LinkedIn Profile
www.simple-talk.com
malcolm-342909
malcolm-342909
Grasshopper
Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)Grasshopper (14 reputation)

Group: General Forum Members
Points: 14 Visits: 225
Yes! Couldn't agree more.his. All they are doing is shifting the schema to a technology not built for the purpose of schema management or in another sense 'time shifting' the schema into the future as the application/system will require one whether you recognise it or not. Its just delaying the inevitable.
n.ryan
n.ryan
Ten Centuries
Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)Ten Centuries (1K reputation)

Group: General Forum Members
Points: 1014 Visits: 321
I've come across only a few real situations where there is a genuine advantage in using a non-relational datastore compared to a relational data store. The usual "advantages" touted tend to stem around the fact that the front end developers don't understand databases, let alone database design and management, and definitely not optimisation and therefore just want a "magic" data store that will somehow do everything on their behalf. Usually by throwing more memory and processing bandwidth at a trivial but non-sensical structure and hoping for the best. All too often if it's not a non-relational data store, it's a relational datastore where the framework creates the database design on behalf of the developer who will inevitably accept all the defaults and care nothing about design, management nor optimisation in any context other than the current, immediate one - which is usually a live user interface and nothing else. As a result, barely fit for purpose database structures get spewn out and it's no wonder that the developers then start dreaming that a non-relational datastore might perform better.
chrisn-585491
chrisn-585491
SSCertifiable
SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)SSCertifiable (7.3K reputation)

Group: General Forum Members
Points: 7293 Visits: 2725
For almost all my business, side and hobby projects a RDMS has sufficed. There's only a few outliers that involve insanely large amounts of real time data that something else is required.
Jeff Mlakar
Jeff Mlakar
SSC Journeyman
SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)SSC Journeyman (80 reputation)

Group: General Forum Members
Points: 80 Visits: 129
NoSQL databases today are like what Object Oriented databases were - a niche solution to very specific situations. By and large RDBMS is the way to go for persistent data storage and retrieval.
Steve Jones
Steve Jones
SSC Guru
SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)SSC Guru (302K reputation)

Group: Administrators
Points: 302674 Visits: 20005
chrisn-585491 - Thursday, December 7, 2017 6:44 AM
For almost all my business, side and hobby projects a RDMS has sufficed. There's only a few outliers that involve insanely large amounts of real time data that something else is required.


This is the one place I think specialized systems work well. Streaming databases are built to handle large volumes in real time and process a portion.

Follow me on Twitter: @way0utwest
Forum Etiquette: How to post data/code on a forum to get the best help
My Blog: www.voiceofthedba.com
GeorgeCopeland
GeorgeCopeland
Hall of Fame
Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)Hall of Fame (3K reputation)

Group: General Forum Members
Points: 3008 Visits: 948
You guys are talking about data design, but there is another good reason for an RDMS--it is a big abstraction layer so that you don't have to worry about things like memory paging and block IO. If you pick a NoSQL database, you better make sure they have given more than a little thought to such issues.

Another issue is governance. How much private data do we have, who has access to it and who has seen it? Act as if you don't care about such issues and you might have an army of auditors in your knickers.
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum







































































































































































SQLServerCentral


Search