Can anyone tell me, how to implement nosql databases? What are the pros and cons of it? Thanks Ramesh
The Oracle NoSQL Database is a distributed key-value database. It is designed to provide highly reliable, scalable and available data storage across a configurable set of systems that function as storage nodes.NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable.
It's a type of database that doesn't use the relational architecture. The "tables" aren't defined by strict schema; any record can have its own properties and fields that are unique to it. Most NoSQL databases have their own control language, or have picked an existing open source language. MongoDB, for example, uses JavaScript as its control language.
Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable.
Hi you can read my article here NoSQL: The Big Picture and why you should use it? and there is many other articles that you can read in my website... even how to install NoSQL database like MongoDB and others... if you have any more question let me know I will help you out or even if you want to know how many category of NoSQL database exist you can read my article Four category of NoSQL databases with examples
NoSQL databases are non-relational data-stores that do not need fixed schema and usually avoid join operations. NoSQL's are distributed databases which are designed to be highly available and scalable. Though there are many prons and cons of NoSQL, but I will only point out the important ones. Prons: 1. High Availability 2. Scalability 3. Designed to scale easily Cons: 1. Non-relational -> has advantages (no predefined schema) and disadvantages (different ways of storing same data, e.g. key-value) 2. Lack of standards due to different data models (e.g key-value store, document databases) 3. No standard API available to addresses the issue such as Portability
NoSQL is a general type of database term used to define distributed databases designed for great scalability and availability. "A NoSQL or Not Only SQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability" As for the product I am using MongoDB, see some pros and cons below (taken from stakoverflow). Pros: Schema-less. If you have a flexible schema, this is ideal for a document store like MongoDB. This is difficult to implement in a performant manner in RDBMS ease of scale-out. Scale reads by using replica sets. Scale writes by using sharding (auto balancing). Just fire up another machine and away you go. Adding more machines = adding more RAM over which to distribute your working set. cost. Depends on which RDBMS of course, but MongoDB is free and can run on Linux, ideal for running on cheaper commodity kit. you can choose what level of consistency you want depending on the value of the data (e.g. faster performance = fire and forget inserts to MongoDB, slower performance = wait til insert has been replicated to multiple nodes before returning) Cons: Data size in MongoDB is typically higher due to e.g. each document has field names stored it less flexibity with querying (e.g. no JOINs) no support for transactions - certain atomic operations are supported, at a single document level at the moment Map/Reduce (e.g. to do aggregations/data analysis) is OK, but not blisteringly fast. So if that's required, something like Hadoop may need to be added into the mix less up to date information available/fast evolving product Final solution is pretty much determined by your application requirements. Hope this helps, S.
Hey Shmekerosu, thank you so much for this article. It really helps! I have read an another informative article (http://www.nascenia.com/nosql-future-of-database/) where you can find also the reason behind the rising popularity of using NOSQL. I hope you will like it too Regards, CM
NoSQL is the next generation in database, There are many advantages of NOSQL, You should visite below link for the basic idea... http://www.mongodb.com/nosql-explained
NoSQL database used for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases. NoSQL databases are more scalable and provide superior performance, and their data model addresses several issues.