background preloader

NoSql

Facebook Twitter

Elastic Caching Platforms Balance Performance, Scalability, And Fault Tolerance. Fast Access To Data Is The Primary Purpose Of Caching Developers have always used data caching to improve application performance. (CPU registers are data caches!) The closer the data is to the application code, the faster the application will run because you avoid the access latency caused by disk and/or network. Local caching is fastest because you cache the data in the same memory as the code itself. Need to render a drop-down list faster? Read the list from the database once, and then cache it in a Java HashMap. Although local caching is fine for Web applications that run on one or two application servers, it is insufficient if any or all of the following conditions apply: The data is too big to fit in the application server memory space. To overcome these scaling challenges, application architects often give up on caching and instead turn to the clustering features provided by relational database management systems (RDBMSes).

Forrester defines elastic caching platforms as: NoSQL And Elastic Caching Platforms Are Kissing Cousins. The NoSQL Movement Is Gaining Momentum, But What The Heck Is It? The NoSQL movement is a combination of an architectural approach for storing data and software products (such as Tokyo Cabinet, CouchDb, Redis) that can store data without using SQL. Thus the term NoSQL. The idea is pretty simple: Not all applications need a traditional relational database management system (RDBMS) that uses SQL to perform operations on data.

Rather, data can be stored and retrieved using a single key. The NoSQL products that store data using keys are called Key-Value stores (aka KV stores). Because these KV stores are not relational and lack SQL they may be faster than RDBMS's because they don't have to maintain indexes, relationships constraints,and parse SQL. Bravo To the NoSQL Approach As an analyst who focuses on helping clients achieve massive scale and blazing fast performance, I will be one of the first ones to endorse this approach for many Web applications because: Scaling is easier. Lower latency. Blags. We all remember the great key-value wars of the early 21st century. People, in their tiny dawn of the Internet-era minds, conflated data models, distribution, replication, and stability requirements into a mish-mash of ideologies and technological philosophies.

"Give us replication or... give us an acceptable alternative! " "If I have to write another schema migration, I swear to Monty, I'm going to become a hardware store day labourer. " "Serialized JSON is the answer to everything! ""But what if I want to search by a property of the JSON object and not just the id? ""You just write a map-reduce function and re-reduce until you get your answer.

"" The core of their debate came down to representation versus distribution. Trees sitting next to tablesWhat was the problem with representation? The squealers worshiped at the altar of their B+ tree, offering up mathematically perfect schemas in return for logarithmic access times to their data. Who put my tree on the table? The kvalers squealed.

Riak

Dynamo: Amazon's Highly Available Key-value Store. Choosing Consistency. Amazon SimpleDB has launched today with a new set of features giving the customer more control over which consistency and concurrency models to use in their database operations. There are now conditional put and delete operations as well a new "consistent read" option. These new features will make it easier to transition those applications to SimpleDB that are designed with traditional database tools in mind. Revisiting the Consistency Challenges Architecting distributed systems that need to reliably operate at world-wide scale is not a simple task. A whole field of computer science is dedicated to finding solutions for the hard problems of building reliable distributed systems.

Next to this fundamental tension between availability and consistency, there is also a trade-off between concurrency, performance and consistency. Data Consistency Models in the Amazon Services Two new features released today by Amazon SimpleDB put control over the consistency model in the hands of the customers.

CouchDb