MySQL Cluster 7.2 with NoSQL Features is Out!
MySQL Cluster 7.2 was released to public by Oracle on Wednesday, Feb 15, 2012. "MySQL Cluster 7.2 demonstrates Oracle’s investment in further strengthening MySQL’s position as the leading Web database,” said Tomas Ulin, vice president of MySQL Engineering, Oracle. “The performance and flexibility enhancements in MySQL Cluster 7.2 provide users with a solid foundation for their mission-critical Web workloads, blending the best of SQL and NoSQL technologies to reduce risk, cost and complexity.”
MySQL Cluster 7.2 release added improvements in autosharding the data and replication conflict resolution in addition to some scalability and reliability improvements that allow replication at different data centers. There was also some work in fixing issues with replicating user privileges and making the clusters easier to manage and administer. As well as some work done to certify and integrate the cluster nodes into the Oracle VM infrastructure to take advantage of increased elastic scalability for cloud deployments. MySQL Cluster 7.2 in now certified to run on Oracle Linux and Oracle Solaris.
Regarding the 70x improvement in complex query speed ("mind blowing numbers"), Tomas mentioned that this was accomplished with what they call "push down joins" or "distributed joins" which sound a lot like a MapReduce specific use case to do a distributed join on a heavily sharded relational database. The joins happen to the actual data nodes. They are done in parallel on all of the nodes, and then one node combines them. The parallels of the join is where the speed comes in. Tomas claims billion queries per minute with an 8 node cluster and near linear scalability in join processing by adding new nodes.
Don't like to miss out any of our posts? Do Subscribe to our Feed
Amazon DynamoDB – a Highly Scalable and Fast NoSQL Database in the Cloud
Amazon recently introduced DynamoDB, a new Cloud based NoSQL database service designed to maintain predictably high performance and to be highly cost efficient for workloads of any scale, from the smallest to the largest internet-scale applications.
Customers can now launch a new Amazon DynamoDB database table, scale up or down their request capacity for the table without downtime or performance degradation, and gain visibility into resource utilization and performance metrics, with a few clicks on the AWS Management Console. In short, DynamoDB is ‘a fully managed NoSQL database’ that can be scaled up or down according to demand.
Amazon DynamoDB is based on the principles of Dynamo, a progenitor of NoSQL, and brings the power of the cloud to the NoSQL database world. It offers customers high-availability, reliability, and incremental scalability, with no limits on dataset size or request throughput for a given table. And it is fast – it runs on the latest in solid-state drive (SSD) technology and incorporates numerous other optimizations to deliver low latency at any scale. It also allows customers to offload the administrative burdens of operating and scaling distributed databases so they don't have to worry about hardware provisioning, configuration, replication, software patching, partitioning, or cluster scaling.
Check out a video explaining the basic concept:
Like what we post? Share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed
MongoDB on AWS
Amazon Web Services (AWS) is a flexible, cost-effective, easy-to-use cloud computing platform. NoSQL software packages are widely installed in the AWS cloud. Running your own NoSQL data store on Amazon Elastic Cloud Compute (Amazon EC2) is a great scenario for users whose application requires the special benefits of structured storage software optimized for high-performance operations on large datasets.
This whitepaper written by Miles Ward of AWS will assist you in understanding one of the most common NoSQL options available with the AWS cloud computing platform—the open source application MongoDB. It gives you an overview of general best practices that apply to all major NoSQL options, and also examines important MongoDB implementation characteristics such as performance, durability, and security.
Are you looking for trusted consultant for deploying your applications to AWS Cloud? Contact us for more information.
Stig – A fresh Open Source NoSQL Database for Large Social Networks
Stig is a fresh open source, non-relational, distributed graph database being developed by Tagged.
This NoSQL Database claims to make it simple for programmers to store and access huge amounts of connected data in a way that keeps consistency, while still being fast and scalable.
It’s a highly scalable graph database, ideal for large social networks, real-time services, and cloud applications.
Like what we post? share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed
TouchDB - A slim Database engine for your Mobile App
TouchDB is a slim CouchDB-compatible database engine suitable for embedding into your mobile or desktop apps. Think of it this way: If CouchDB is MySQL, then TouchDB is SQLite.
By being "CouchDB-compatible" it means that TouchDB can replicate with CouchDB and Couchbase Server, and that its data model and high-level design are "Couch-like" enough to make it familiar to CouchDB/Couchbase developers. Its API will not be identical and it may not support some CouchDB features (like user accounts) that aren't useful in mobile apps. Its implementation is not based on CouchDB's (it's not even written in Erlang.) It does support replication to and from CouchDB.
TouchDB is "suitable for embedding into mobile apps", as it meets the following requirements:
- Small code size; ideally less than 256kbytes. (Code size is important to mobile apps, which are often downloaded over cell networks.)
- Quick startup time on relatively-slow CPUs; ideally 100ms or less.
- Low memory usage with typical mobile data-sets. The expectation is the number of documents will not be huge, although there may be sizable multimedia attachments.
- "Good enough" performance with these CPUs and data-sets.
And by "mobile apps" TouchDB Creator says he's focusing on iOS and Android, although there's no reason we couldn't extend this to other platforms like Windows Phone. And it's not limited to mobile OSs -- the initial Objective-C implementation runs on Mac OS as well.
Requirements:
- It's written in Objective-C.
- Xcode 4.2 is required to build it.
- Runtime system requirements are iOS 5+, or Mac OS X 10.7.2+.
TouchDB is available under the Apache License 2.0.
If you wish to get regular updates on what we post, do subscribe to our RSS Feed
Katta – Lucene for massive data sets in the cloud
Katta is a scalable, failure tolerant, distributed, data storage for real time access.
Katta serves large, replicated, indices as shards to serve high loads and very large data sets. These indices can be of different type. Currently implementations are available for Lucene and Hadoop mapfiles.
- Makes serving large or high load indices easy
- Serves very large Lucene or Hadoop Mapfile indices as index shards on many servers
- Replicate shards on different servers for performance and fault-tolerance
- Supports pluggable network topologies
- Master fail-over
- Fast, lightweight, easy to integrate
- Plays well with Hadoop clusters
- Apache Version 2 License
Don't like to miss out any of our posts? Do Subscribe to our Feed
Presentation - Solving Relational Anti-patterns with GraphDB in Your PHP Project
Graph databases are not widespread in the PHP community, although they are a swiss-army knife for problem that the relational model can't simple handle well. In this presentation Alessandro Nadalin & David Funaro explains about the graph theory, see how to easily solve a few relational anti-patterns with graph databases and how to integrate them in your next php project.
PHPCon Poland 2011 is a social-scientific meeting for PHP programmers and enthusiasts, organised by Polish internet volunteers, under care of the Polish Linux Users Group (PLUG). The goal of meeting is an integration of the PHP society and the business environment, interested in practical using od PHP in commercial projects.
The utility of CouchApps and how CouchDB could shape mobile.
This is a condensed interview with Bradley Holt, which originally appeared on O'Reilly Radar.
CouchApps are JavaScript and HTML5 applications served directly from the document-oriented database CouchDB. In the following interview, Found Line co-founder and OSCON speaker Bradley Holt (@BradleyHolt) talks about the utility of CouchApps, what CouchDB offers web developers, and how the database works with HTML5.
How do CouchApps work?
Bradley Holt: CouchApps are web applications built using CouchDB, JavaScript, and HTML5. They skip the middle tier and allow a web application to talk directly to the database — the CouchDB database could even be running on the end-user's machine or Android / iOS device.
What are the benefits of building CouchApps?
Bradley Holt: Streamlining of your codebase (no middle tier), replication, the ability to deploy/replicate an application along with its data, and the side benefits that come with going "with the grain" of how the web works are some of the benefits of building CouchApps.
To be perfectly honest though, I don't think CouchApps are quite ready for widespread developer adoption yet. The biggest impediment is tooling. The current set of development tools need refinement, and the process of building a CouchApp can be a bit difficult at times. The term "CouchApp" can also have many different meanings. That said, the benefits of CouchApps are compelling and the tools will catch up soon.
HTML5 addresses a lot of storage issues. Where does CouchDB fit in?
Bradley Holt: The HTML5 Web Storage specification describes an API for persistent storage of key/value pairs locally within a user's web browser. Unlike previous attempts at browser local storage specifications, the HTML5 storage specification has achieved significant cross-browser support.
One thing that the HTML5 Web Storage API lacks, however, is a means of querying for values by anything other than a specific key. You can't query across a set of keys or values. IndexedDB addresses this and allows for indexed database queries, but IndexedDB is not currently part of the HTML5 specification and is only implemented in a limited number of browsers.
If you need more than just key/value storage, then you have to look outside of the HTML5 specification. Like HTML5 Web Storage, CouchDB stores key/value pairs. In CouchDB, the key part of the key/value pair is a document ID and the value is a JSON object representing a single document. Unlike HTML5 Web Storage, CouchDB provides a means of indexing and querying data using MapReduce "views." Since CouchDB is accessed using a RESTful HTTP API and stores documents as JSON objects, it is easy to work with CouchDB directly from an HTML5/JavaScript web application.
How does CouchDB's replication feature work with HTML5?
Bradley Holt: Again, CouchDB is not directly related to the HTML5 specification, but CouchDB's replication feature creates unique opportunities for CouchApps built using JavaScript and HTML5 (or any application built using CouchDB, for that matter).
I've heard J. Chris Anderson use the term "ground computing" as a counterpoint to "cloud computing." The idea is to store a user's data as close to that user as possible — and you can't get any closer than a user's own computer or mobile device! CouchDB's replication feature makes this possible. Data that is relevant to a particular user can be copied to and from that user's own computer or mobile device using CouchDB's incremental replication. This allows for faster access for the user (since his or her application is hitting a local database), offline access, data portability, and potentially more control over his or her own data.
Now that CouchDB runs on mobile devices, how do you see it shaping mobile app development?
Bradley Holt: While Android is a great platform, the biggest channel for mobile applications is Apple's iOS. CouchDB has been available on the Android for a while now, but it is relatively new to iOS. Now that CouchDB can be used to build iPhone/iPad applications, we will most certainly see many more mobile applications built using CouchDB in order to take advantage of CouchDB's unique features — especially replication.
The big question is, will these applications be built as native applications or will they be built as CouchApps? I don't know the answer, but I'd like to see more of these applications built on the CouchApps side. With CouchApps, developers can more easily port their applications across platforms, and they can use existing HTML5, JavaScript, and CSS skill sets.
NoSQL Databases Demystified
NoSQL Databases: What, Why and When - Lorenzo Alberton from PHP UK Conference on Vimeo.
NoSQL databases get a lot of press coverage these days, but there seems to be a lot of confusion surrounding them, as in which situations they work better than a Relational Database, and how to choose one over another.
This talk will definitely give us an overview of the NoSQL landscape and a classification for the different architectural categories, clarifying the base concepts and the terminology, and will provide a comparison of the features, the strengths and the drawbacks of the most popular projects (CouchDB, MongoDB, Riak, Redis, Membase, Neo4j, Cassandra, HBase, Hypertable).Talk by Lorenzo Alberton at PHP UK Conference 2011Talk by Lorenzo Alberton at PHP UK Conference 2011
DALMP - Database Abstraction Layer for MySQL using PHP
After many years of web developing with PHP, 99% of my sites are using MySQL so that is why I decided to create DALMP.
I have been using ADOdb, pear DB, Zend DB, etc. they are excellent applications, but many times they are too much for what I need, so that is why I started creating DALMP, a data abstraction layer that just feet my needs , taking the best practice code out there and put it on a single simple file.
%0 fat and extremely easy to use, just one file, define some constants and you are ready to go.
Details
- redis support (http://code.google.com/p/redis/)
- memcache single or multiple hosts and socket support (http://code.google.com/p/memcached/)
- apc support (http://pecl.php.net/package/APC)
- Group caching cache by groups and flush by groups or individual keys
- Disk cache support.
- Prepared statements ready.
- Ability to use different cache types at the same time.
- Simple store of session on database (mysql/sqlite) or a cache like redis/memcache/apc.
- Easy to use/install/adapt DALMP is just a single file.
- Nested Transactions (SAVEPOINT / ROLLBACK TO SAVEPOINT).
- Common methods are named exactly like ADOdb in case you want to try DALMP with an existing code that uses ADOdb.
- sql queue.
- helpful methods, renumber('table') or renumber('table','uid') - renumbers a table, UUID - create an 'universally unique identifiers'
- http client + queue (for sending data via http to another server expecting an answer, if expected was ok then proceed other wise queue the http request).
- trace everything enabling the debugger by just setting something like $db->debug(1).

