say hello to document based databases

Document oriented Databases can be a better fit than Relational Databases in some instances..

A debate on whether SQL or NoSQL DBMSs (Database Management Systems) better serve the needs of today’s growing technology has been rampant over the internet recently. Do we really need the cleanliness of the RDBMS or will a little bit more mayhem serve us well? To tackle the matter, let’s begin with a brief description of relational databases.

sayhello_01

SQL DBMSs would have probably continued to dominate the market, if not for one major drawback. The very element that made them so effective, also made it very rigid. For example, if each row represents a physical object and an column described a property of that object, then all objects had to be described by not only the same properties, but also the same number of properties. This posed a big problem, because the sort of data storing that would fare well in this system, is related, structured data, but data is by its nature… raw. Its is not structured, and is not only related, but interrelated. So even though SQL had become standard, its inflexibility created a gap for a more… fluid system.

Relational databases were the most used database systems by the end of 1980, due to the lack of better options. But as the millenia came to a close, and newer and more versatile database systems were developed, and using relational databases for ill fitted jobs seemed like a time consuming and pointless task. After google and social networking sites like facebook adapted the new NoSQL databases, the RDBMS seemed more and more overused and outdated, and users began to select database system that suited their needs best. That is how document based databases became popular.

The Works:
As users shifted away from relational databases, many adapted doc databases for their usability. A document could be an image, information encoded in XML, all the way up to structured text. Such a variation in the type of information contained was not something RDBMS could handle. Also a document was never updated, it was replaced… this was not only tidy in its own way (one document, one recent most record), but with this system’s un-fixed structure, it updated the pattern of the document to the latest one every time it was replaced, a crucial advantage, which makes this system very easy to work with. The best part about document oriented database systems is that they, like the RDBMS assign properties to describe their data, and these properties help in pulling up documents relevant to a given search. But in this NoSQL system the number and sort of properties assigned were independent to a document, making it so much easier to store semi structured data efficiently.

sayhello_02

Office Adaptability:
The one of the reasons why many found DocDBs so easy to adapt is because they were office friendly. All businesses create documents, and lots of them. A document is completely useless if it cannot be located when it is required. They may be legal records, product plans, strategy memos, meeting records or rough ideas, those documents are all important, and useful if they are well stored and easily searchable. A document management system helps organize how documents are created and what happens to them – who gets to view and edit them, who has to approve them, and where and how long they’re stored.

Document databases introduced features that result in a very smooth working system. First, Document management systems dictate how documents are created so that later users can easily extract information from them. For example, they may enforce consistent templates for particular types of documents like invoices. Secondly, docDBs have an excellent distribution and storage capacity. A System must have a consistent way for documents to be stored, and retrieved (through a URL or via search, for instance). Most systems also let users or IT staff set and enforce policies on who can view and edit particular documents. Also the database system uses archiving, to store a document that is no longer active. Adding to that Many document management systems have ways to publish content to the Web or an intranet site. They also regulate work flow, by describing a flow of documents through different people — creators, editors, etc. There may be tools to aid collective working,, like simultaneous editing, shared work spaces, and links to communication software like email or instant messaging programs. To sum it all up, docDBs are ideal management systems for office use.

Find your best fit:
Document databases are available in a wide variety and each document-oriented database differs slightly from the others, as they are all designed to be task specific. An example of a much used docDB is CouchDB. CouchDB is marketed for being ideal for web use. It has no predefined structure at all, so the structure of the documents can be updated with the present need. It also claims to be equipped with a suite of key features, that make web app development a breeze. One of its more prominent features include replication. CouchDB was designed with bi-directional replication (or synchronization) and off-line operation in mind (for places with bad reception) for multiple users to be able to work together on one project. This means they can all have their own copies (replicas) of the same data, update it, and it will be synced (all replicas updated) by the system. If any changes are made to a document offline by one user, then when the device is back online the document will be synced. The databases also boasts several other features that adapt it to this function and make it unique from other document databases.

There are obviously some fields in which the RDBMS excel the document based system, like storing large amounts of data that have a certain structure to them, but ideally if your need is document based then a document database is best. Also document based databases present information in a structure that average users can deal with very easily.. documents! So not only do document databases offer a better upkeep, they offer a very easy way to search data, and the comfort of a well known structure. Hence uses for this database can also be extended to say, web related work… like shopping carts, that are updated when items are added or removed.

Easy on the pocket:
Another advantage of DocDBs is that they are budget friendly. This is for two reasons, and the first is horizontal scalability. The issue with SQLs is that they don’t scale well. So to increase performance the user cannot simply add more supporting hardware, like SQL server. To handle big databases ,big storage will be needed. Now as document databases were designed for horizontal scalability, as the need grows, more commodity hardware can be added to accommodate it. The second reason is, that document-oriented databases, unlike the RDBMS are open source, which again, is an advantage for the user.

To wrap it all up, the RDBMS does the job in select circumstances, where tried and tested management systems are required. A document oriented DBMS is an almost familiar, cheap alternative, perfect for any document related situation, and easily operated by the average user. With its easy to maintain, easy to search, and versatile alternatives included it may fast become the leading database system of the decade.

is a professional blogger for Genetech Solutions, an offshore IT Consulting Firm in Pakistan serving clients with effective Web Development Solutions, Social Media, iPhone and Database Application Development. Follow her on Twitter @UroosaRajani110.