riak: All content tagged as riak in NoSQL databases and polyglot persistence
Catching up after almost two weeks offline is no easy task, but I hope I’ll not miss any important events, releases, or posts. But if I do, please email me.
Cassandra 1.0.9: Maintenance Release
The complete change notes for Cassandra 1.0.9 are here:
- improve index sampling performance (CASSANDRA-4023)
- always compact away deleted hints immediately after handoff (CASSANDRA-3955)
- delete hints from dropped ColumnFamilies on handoff instead of erroring out (CASSANDRA-3975)
- add CompositeType ref to the CLI doc for create/update column family (CASSANDRA-3980)
- Avoid NPE during repair when a keyspace has no CFs (CASSANDRA-3988)
- Fix division-by-zero error on get_slice (CASSANDRA-4000)
- don’t change manifest level for cleanup, scrub, and upgradesstables operations under LeveledCompactionStrategy (CASSANDRA-3989, 4112)
- fix race leading to super columns assertion failure (CASSANDRA-3957)
- ensure that directory is selected for compaction for user-defined tasks and upgradesstables (CASSANDRA-3985)
- allow custom types in CLI’s assume command (CASSANDRA-4081)
- fix totalBytes count for parallel compactions (CASSANDRA-3758)
- fix intermittent NPE in get_slice (CASSANDRA-4095)
- remove unnecessary asserts in native code interfaces (CASSANDRA-4096)
- Fix EC2 snitch incorrectly reporting region (CASSANDRA-4026)
- Shut down thrift during decommission (CASSANDRA-4086)
Merged from 0.8: Fix ConcurrentModificationException in gossiper (CASSANDRA-4019)
- support Counter ColumnFamilies (CASSANDRA-3973)
- Composite column support (CASSANDRA-3684)
- fix NPE on invalid CQL delete command (CASSANDRA-3755)
- Validate blank keys in CQL to avoid assertion errors (CASSANDRA-3612)
Apache Hadoop User Impersonation vulnerability
This vulnerability discovered by Cloudera’s Aaron T. Myers affects Hadoop’s versions 0.20.203.0, 0.20.204.0, 0.20.205.0, 1.0.0 to 1.0.1, and 0.23.0 to 0.23.1 where Kerberos is enabled. Complete details available here.
This is the first important release after the start of the year CouchDB hubbub with Damien Katz and Couchbase. The new version is a major release in itself deserving its own post: CouchDB 1.2.0: Performance, Security, API, Core and Replication Improvements.
Riak 1.1.2: Stabilization release
Original title and link: NoSQL Releases and Announcements ( ©myNoSQL)
Coverage of the announcement of a new product from Basho: Riak CS: a multi-tenant, distributed, S3-compatible cloud storage platform:
- Klint Finley got the scoop: NoSQL Company Basho Unveils New Cloud Storage Software
- PR announcement
- Barb Darrow for GigaOm: Basho arms would-be Amazon killers with AWS-compatible storage
- Sudheer Raju for Tools Journal: Riak CS From Basho Enables Enterprise Cloud Storage
- Joe Brockmeier for RWW: Cloud Storage Competition Heats Up With RiakCS
- Liam Eagle for thewhir: Basho Launches Riak CS Cloud Storage Platform, Aims at Service Providers
My notes about Riak CS will follow shortly.
Original title and link: Basho Announces Riak-Based Multi-Tenant, Distributed, S3-Compatible Cloud Storage Platform ( ©myNoSQL)
Couple of things I don’t see mentioned in the RedMonk post:
if and how data has been normalized based on each connector availability
According to the post data has been collected between Jan.2011-Mar.2012 and I think that not all connectors have been available since the beginning of the period.
if and how marketing pushes for each connectors have been weighed in
Announcing the Hadoop connector at an event with 2000 attendees or the MongoDB connector at an event with 800 attendeed could definitely influence the results (nb: keep in mind that the largest number is less than 7000, thus 200-500 downloads triggered by such an event have a significant impact)
Redis and VoltDB are mostly OLTP only databases
Original title and link: NoSQL Databases Adoption in Numbers ( ©myNoSQL)
- Dynamo (key-value)
- Voldemort (key-value)
- Tokyo Cabinet (key-value)
- KAI (key-value)
- Cassandra (column-oriented/tabular)
- CouchDB (document-oriented)
- SimpleDB (document-oriented)
- Riak (document-oriented)
A couple of clarifications to the list above:
- Dynamo has never been available to the public. On the other hand DynamoDB is not exactly Dynamo
- Tokyo Cabinet is not a distributed database so it shouldn’t be in this list
- CouchDB isn’t a distributed database either, but one could argue that with its peer-to-peer replication it sits right at the border. On the other hand there’s BigCouch.
Original title and link: Which NoSQL Databases Are Robust to Net-Splits? ( ©myNoSQL)
One of the major releases that happened around the end of February (and I’ve missed due to some personal problems), is Riak 1.1. I assume that by now everyone using Riak already knows all the goodies packaged by the Basho team in this new release, but for those that are not yet onboard here is a summary:
From the Release notes:
- Numerous changes to Riak Core which address issues with cluster scalability, and enable Riak to better handle large clusters and large rings
- New Ownership Claim Algorithm: The new ring ownership claim algorithm introduced as an optional setting in the 1.0 release has been set as the default for 1.1. The new claim algorithm significantly reduces the amount of ownerhip shuffling for clusters with more than N+2 nodes in them.
Riak KV improvements:
- Liskeys backpressure: Backpressure has been added to listkeys to prevent the node listing keys from being overwhelemed.
- Don’t drop post-commit errors on floor
- The MapReduce interface now supports requests with empty queries. This allows the 2i, list-keys, and search inputs to return matching keys to clients without needing to include a reduce_identity query phase.
- MapReduce error messages have been improved. Most error cases should now return helpful information all the way to the client, while also producing less spam in Riak’s logs.
- Bitcask and LevelDB improvements
Then there’s also Riaknostic and the new Riak admin tool: Riak Control.
What is Riaknostic?
From the initial Riaknostic announcement:
Riaknostic is an Erlang script (escript) that runs a series of “diagnostics” or “checks”, inspecting your operating system and Riak installation for known potential problems and then printing suggestions for how to fix those problems. Riaknostic will NOT fix those problems for you, it’s only a tool for diagnostics. Some of the things it checks are:
- How much memory does the Riak process currently use?
- Do Riak’s data directories have the correct permissions?
- Did the Riak node crash in the past and leave a dump file?
Riaknostic project page is here.
What is Riak Control?
From Riak Control GitHub page:
Riak Control is a set of webmachine resources, all accessible via the /admin/* paths, allow you to inspect your running cluster, and manipulate it in various ways.
Now that description doesn’t make Riak Control any justice. What Riak Control is a very fancy REST-driven admin interface for Riak. You don’t have to take my word for it, so check this screenshot:
Riak Control covers different details of a Riak cluster:
- general cluster status
- details about the cluster
- details about the ring
This blog post gives more details about Riak Control and a couple more sexy screenshots. If you’d like to dive a bit deeper into Riak Control, you can also watch after the break a 25min video of Mark Phillips talking about it.
Riak and WebMachine are the two systems for which I wished I knew Erlang so I could dive into and learn more about. I’m already (slowly) working to change this.