A relational database is the warehouse of your data. Your crown jewels. It’s your excel spreadsheet or filing cabinet writ large. You use them everyday and may not know it. Your smartphone stores it’s contacts in a relational database, most likely sqlite – the ever present but ever invisible embedded platform. Your online bank at Citibank or Chase stores all your financial history, statements, contact info, personal data and so forth, all in a relational database.
Relational databases are:
- organized around records
- data points are columns in a table
- relationships are enforced with constraints
- indexing data brings hi-speed access
- SQL is used to get data in and out of the db
- triggers, views, stored procs & materialized views may also be supported
Need help? Check out my pricing page and also How daily notes are helping me work better with clients
Like excel, relational databases are organized around records. A record is like a 3×5 card with a number of different data points on it. Say you have 3×5 cards for your addressbook. Each card holds one address, phone number, email, picture, notes and so forth. By organizing things nicely on cards, and for each card predictable fields such as first name, last name, birthday etc, you can then search on those data points. Want all the people in your addressbook with birthday of July 5th, no problem.
While relational databases have great advantages, they require a lot of work to get all of your information into neatly organized files. What’s more the method for getting things into and out of them – SQL is a quirky and not very friendly language. What’s more relational databases have trouble clustering, and scaling horizontally. NOSql database have made some headway in these departments, but at costs to consistency and reliability of data.
As servers continue to get larger, it becomes rarer that a single web-facing database really needs more than one single server. If it’s tuned right, that is. Going forward and looking to the future, the landscape will probably continue to be populated by a mix of traditional relational databases, new nosql type databases, key-value stores, and other new technologies yet to be dreamed up.
Also: Are SQL databases dead?