June 11, 2012
Q: What platforms are supported by Riak?
This question comes up quite frequently and there has always been two answers to that question. The first answer really answers the question of “what platforms can Riak run on?” The second one answers the question of “what platforms are packaged for and tested by Basho?”
*BSD and the Answer to the First Question
Riak has been built and run on FreeBSD by a handful of users for quite some time from what we can tell. Those dedicated users had to jump through hoops involving modifying many of Riak’s
Makefile‘s as well as
#ifdef‘s scattered throughout our storage backends. From a great-user-experience point of view, this is not ideal.
Early last year work was started by both the community and Basho to improve our codebase to support *BSD properly. Unfortunately with our limited resources at the time, finishing the testing on *BSD got set aside in favor of new Riak features. This left a single missing piece from easy use of Riak on *BSD, LevelDB.
In December Basho engineer Andrew Thompson submitted a patch to Google to add DragonFlyBSD/NetBSD/OpenBSD support to LevelDB so we can use those fixes in eLevelDB. In March 2012, the patch was merged into LevelDB. That patch, along with the eventual merge of the “BSD Support” pull-request, finally added BSD to the answer of the first question, “what platforms can Riak run on?”
While great, this still leaves Riak *BSD users alone when it comes to the second question “what platforms are packaged for and tested by Basho?”
*BSD and the Answer to the Second Question
Whenever asked what platforms are officially supported by Basho the answer has always been to look at what packages were available for Riak. After the release of Riak 1.1, we decided we had the capacity to support another major platform with our next major release. Due to interest from the community and customers, FreeBSD was chosen. Now “Free” doesn’t satisfy all * in *BSD, but it is a good place to start!
Luckily the work to actually package FreeBSD was made easier by all the work mentioned above to have it build cleanly. As of this commit, packages for FreeBSD have been building with every commit on
riak/master. So, stay tuned for the next major Riak release, when we’ll ship FreeBSD 9 packages as well as update the installation documentation. Now I’m on the hook for writing documentation I suppose!
$ gmake package RELEASE=1
Basho Technologies today announced the immediate availability of the second edition of Riak Handbook.
CAMBRIDGE, MA – June 1, 2012 – Basho Technologies today announced the immediate availability of the second edition of Riak Handbook. The significantly updated Riak Handbook includes more than 43 pages of new content covering many of the latest feature enhancements to Riak, Basho’s industry-leading, open-source, distributed database. Riak Handbook is authored by former Basho developer and advocate, Mathias Meyer.
Riak Handbook is a comprehensive, hands-on guide to Riak. The initial release of Riak Handbook focused on the driving forces behind Riak, including Amazon Dynamo, eventual consistency and CAP Theorem. Through a collection of examples and code, Mathias’ Riak Handbook explores the mechanics of Riak, such as storing and retrieving data, indexing, searching and querying data, and sheds a light on Riak in production. The updated handbook expands on previously covered key concepts and introduces new capabilities, including the following:
- An overview of Riak Control, a new Web-based operations management tool
- An entirely new section on deploying Erlang code in a Riak cluster
- Additional details on secondary indexes
- Insight into load balancing Riak nodes
- An introduction to network node planning
- An introduction to Riak CS, includes Amazon S3 API compatibility
The updated Riak Handbook includes an entirely new section dedicated to popular use cases and is full of examples and code from real-time usage scenarios.
Mathias Meyer is an experienced software developer, consultant and coach from Berlin, Germany. He has worked with database technology leaders such as Sybase and Oracle. He entered into the world of NoSQL in 2008 and joined Basho Technologies in 2010.
About Basho Technologies
Basho Technologies is the leader in highly-available, distributed database technologies used to power scalable, data-intensive Web, mobile, and e-commerce applications and large cloud computing platforms. Basho customers, including fast-growing Web businesses and large Fortune 500 enterprises, use Riak to implement content delivery platforms and global session stores, to aggregate large amounts of data for logging, search, and analytics, to manage, store and stream unstructured data, and to build scalable cloud computing platforms.
Riak is available open source for download at http://wiki.basho.com/Riak.html. Riak EnterpriseDS is available with advanced replication, services and 24/7 support. Riak CS enables mutli-tenant object storage with advanced reporting and an Amazon S3 compatible API. For more information visit www.basho.com or follow us on Twitter at www.twitter.com/basho.
May 22, 2012
A handful of the Basho team are descending on Europe, attending and speaking at various conferences and meetups, and we couldn’t be more excited to meet and mingle with the growing European Riak community.
GOTO Copenhagen began yesterday and runs through May 23. The GOTO conference series are international events put on for, and by, software developers. This year’s theme is “Real Stories from Real People” and attendees can expect to learn about solving real life problems form real life experiences from a number of leading experts and authors.
Put these talks in your calendar:
Basho will also have a booth on the exhibition floor. Be sure to stop by in between talks to chat with Ian or Tom about Riak, distributed systems or your favorite fancy cocktail.
GOTO is on a roll this year, with two European conferences scheduled back to back. GOTO Amsterdam is hosted at Beurs van Berlage. For a two day conferences, the list of speakers is quite impressive so kudos to the GOTO Program Advisory Board for putting this one together.
In addition to a booth on the exhibition floor, Andy Gross will deliver the following talk that cannot be missed:
Be sure to corner [Andy](https://twitter.com/#!/argv0) or [Tom](https://twitter.com/#!/tsantero) in between sessions and ask them hard questions about Riak.
### NoSQL Matters
Basho’s [Tom Santero](https://twitter.com/#!/tsantero) will be attending [NoSQL Matters](http://www.nosql-matters.org/) set to take place in Cologne, Germany. This is a brand new conference, and we have very high expectations for success considering the caliber of [speakers](http://www.nosql-matters.org/speakers/) on deck.
If you’re in attendance, be sure not to miss these talks from members of the Riak community:
* [Designing for Concurrency with Riak](http://www.nosql-matters.org/agenda/) – Mathias Meyer
* [Theoretical Aspects of Distributed Systems, Playfully Illustrated](http://www.nosql-matters.org/agenda/) – Pavlo Baron
### Erlang User Conference
**May 28 – June 1**
Stockholm plays host to this year’s [Erlang User Conference](http://www.erlang-factory.com/conference/ErlangUserConference2012). The events put on by Erlang Solutions are usually exceptional, and Basho will be well represented this year.
The conference itself last for two days, Monday and Tuesday, followed by a day of tutorials on Wednesday and then wrapped up with two days of workshops on Thursday and Friday.
We’ll be delivering the following talks:
* [Sweden’s Next Top NoSQL Data Model](http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/IanPlosker) – Ian Plosker
* [Innovation: What Every Developer Absolutely Needs To Know](http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/SteveVinoski) – Steve Vinoski
Basho’s VP of Engineering, [Dizzy Smith](https://twitter.com/#!/dizzyd), will host a [tutorial](http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/DizzySmith) demonstrating [Rebar](https://github.com/basho/rebar), an open-source build-system for Erlang/OTP applications.
[Ian Plosker](https://twitter.com/#!/dstroyallmodels) will be running a two day class on
[Building distributed clusters with Riak](http://www.erlang-factory.com/conference/ErlangUserConference2012/university/RiakTraining). Everyone who attends will walk away with a very clear understanding of just why Riak is the best distributed database you will ever run in production.
### London Riak Meetup
Basho is pleased to announce that Ian Plosker will be hosting the [Inaugural London Riak Meetup](http://www.meetup.com/riak-london/events/62061262/).
This first meetup in London will feature a talk by Basho’s VP of Engineering, [Dizzy Smith](https://twitter.com/#!/dizzyd) and is hosted in Google’s new [co-working space](http://www.campuslondon.com/).
If you’re in or around London on May 30, missing this is not optional.
*Don’t forget to [RSVP](http://www.meetup.com/riak-london/events/62061262/).*
[EuRuKo](http://www.euruko2012.org/) is an annual Ruby conference hosted in Amsterdam. All attendees can expect a killer [venue](http://www.euruko2012.org/#venue), awesome [lineup of speakers](http://www.euruko2012.org/#speakers) and a fancy Boat Party sponsored by GitHub.
[Sean Cribbs](https://twitter.com/#!/seancribbs) will give a talk titled *A Case of Accidental Concurrency* – if you haven’t been lucky enough to hear Sean speak in person before, than you’re in for a real treat.
### Berlin Buzzwords
Last, but certainly not least, we’ll be at [Berlin Buzzwords](http://berlinbuzzwords.de/) for two days of [brilliant technologists](http://berlinbuzzwords.de/speakers), [hackathons](http://berlinbuzzwords.de/wiki/hackathons) and training.
The theme of this conference is “search”, “store” and “scale”, our natural habitat so to speak.
You’ll get to hear form the Basho team:
* [Germany’s Next Top Data Model](http://berlinbuzzwords.de/sessions/germanys-next-top-data-model) – Ian Plosker
* [Eventually Consistent Data Structures](http://berlinbuzzwords.de/sessions/eventually-consistent-data-structures) – Sean Cribbs
As well as the Riak community:
* [From Hand to Mouth](http://berlinbuzzwords.de/sessions/hand-mouth) – Pavlo Baron
April 30, 2012
The majority of the Basho team is descending upon Cambridge, MA this week for an All-Hands Meetup. We’re a distributed company, and function well as such, but it’s great to get everyone together when feasible to see new faces, build culture, and reinforce why we are all a part of the company. We all look forward to these meetups, but this one is extra-special: we have a new office in Cambridge.
Basho was founded here in 2008, and since then Cambridge has served as our headquarters while we work on database world domination. On April 2nd, the crew here in Cambridge moved into a new space on the 2nd Floor at 700 Massachusetts Avenue. Located above Rodney’s Bookstore, this place has all the charm of a space built for a startup with all the amenities that come with recurring revenue; the best of both worlds.
We’ll be doing a good number of events out of this space, the first of which is the Boston Clojure Meetup. If you’re passing through the Boston area and need a desk for a day, or simply want to stop by and chat about databases, coffee, and beer, get in touch with Reid Draper – email@example.com – or shoot a message to us on Twitter and we’ll do our best to accommodate.
And if you want to work for Basho in Cambridge, San Francisco, Reston, or out of your home office, we are hiring talented individuals across the board.
April 26, 2012
At Basho we love Yammer. Besides making a product that we rely on internally, they are long-time Riak fans and advocates, and have built a large Riak cluster to power notifications for their entire user base. But not every use case is a fit for Riak. Running multiple databases in production is not uncommon, and skilled engineering teams like Yammer’s will always select the best tool for the job.
To that end, Ryan Kennedy, Yammer’s Director of Core Services, presented at BashoChats 003 about some of the impressive work that he and his colleagues are doing with Berkeley DB. He goes in depth on how they came to select BDB, what they added on top of Berkeley to ensure it could scale and satisfy their availability requirements, and what their data set and request profile look like in production. There’s a lot of worthwhile and valuable information in here. (Ryan’s slides are here if you’re interested in the PDF.
Enjoy, and if you’re interested in speaking at a future BashoChats meetup, email me – firstname.lastname@example.org. Also, if you want to work with companies like Yammer, Twitter, Square, Simple, LinkedIn, and Basho building distributed systems, you should be at the next meetup. Keep an eye on the Meetup page for details.
March 26, 2012
This is a big week for Basho.
The first three days of Erlang Factory are primarily workshops, and Daniel Reverri will be teaching a 3 day class on Building Distributed Clusters with Riak. All attendees will walk away with a clear understanding of exactly why Riak is the best distributed database you will ever run in production.>
The actual conference spans Thursday – Friday, and the talk lineup for this year’s event is exceptional. The Basho team will be well-represented. Put these talks on your calendar if you’re attending:
- Test-First Construction of Distributed Systems – Joseph Blomstedt
- Building Healthy Distributed Systems – Mark Phillips
- Building Cloud Storage Services with Riak – Andy Gross
Several members of the Riak Community are also on the schedule:
- Erlang for .NET Developers – OJ Reeves
- Rewriting GitHub Pages with Riak Core, Riak KV, and Webmachine – Jesse Newland
Basho Bash West
We’re really excited about all the success surrounding Riak in 2011 and we’re continuously building on that momentum as we move deeper into 2012. The number of Riak users and community members are growing exponentially so we decided to throw a party to celebrate. We’re calling it Basho Bash West 2012, and it’s co-sponsored by our friends at Joyent, Yammer and Voxer.
Come join us on Thursday, March 29th, at 6:30PM. We are renting out Roe, and you won’t be allowed to pay for anything. You’ll also be leaving with some limited edition Riak swag that will make you the envy of all your friends. Various members of the Basho team will be in attendance, along with hundreds of developers, executives, and technology enthusiasts from the Bay Area. Miss this at your peril.
You must RSVP to attend.
I’m happy to announce the addition of Thomas Santero to the Basho family. Thomas (who also goes by “Tom”) is joining as Technical Evangelist and will be part of the Community Team.
He’s based in Staten Island and will be focusing his time on bringing Riak to developers everywhere along the Eastern seaboard. If you’re anywhere near Boston, New York, Philadelphia, Washington, DC, etc., and aren’t yet using Riak, Tom will soon change this. He’ll also be supporting global community growth in various venues as Riak adoption continues to explode in all corners of the world.
Tom can be found on Twitter as tsantero and goes by the same nick on IRC. Say “hello” when you get the chance and ask him a hard question about Riak.
*We are hiring another Technical Evangelist based in London or Amsterdam. If you want to help us take over Europe, get in touch with me – email@example.com.
March 5, 2012
Happy Monday. What better way to start the week than with a smart, insightful tech talk from a thoughtful, talented engineer?
Ted Nyman is the lead engineer at Simple, a startup that is changing the way people bank. Ted was kind enough to come out to BashoChats last week in San Francisco to share his views on building scalable, JVM-based services that just work in a talk called *Instant-ish Real Service Architecture*.
This talks runs just under 40 minutes and covers everything from valuable lessons learned shipping production applications to high-level, illustrative code samples that demonstrate how and why you should use the Dropwizard framework and its reliable, battle-tested underlying libraries when you need to ship services that make money. Ted’s also an entertainer and he brings almost as much humor and wit as he does worthwhile lessons and knowledge.
March 2, 2012
The second BashoChats Meetup was held last week at BashoWest. The office was packed with area developers and our two speakers, Ted Nyman and Peter Bailis, each delivered exceptional talks. Our awesome videographer Matt Fisher finished Peter’s talk first and it’s so good that we didn’t see any reason to keep it from you while he put the final touches on Ted’s.
Peter is Graduate Student in the much-heralded Berkeley CS department. Suffice it to say that we were honored to have him at BashoChats. He and some colleagues have been working on something called Probabilistically Bounded Staleness for Practical Partial Quorums (PBS). In short, PBS aims to define just how eventual “eventual consistency” is, and their research produced some fascinating findings that should affect how people view and deploy distributed databases like Riak, Cassandra and Voldemort.
This talk, the subject matter, and the presenter are all fantastic. Watch it twice and tell three friends about it. (The PDF version of the slides are here for any interested parties.)
We’ll have Ted Nyman’s talk up next week. In the meantime, join BashoChats so you can be a part of the next event.
February 22, 2012
Riak Control is Basho’s new OSS, REST-driven, user-interface for Riak. The code has been available for a few months now, but it’s officially supported in Riak 1.1, so we wanted share some details on what it’s about and why you should be excited about it.
Lowering the Barrier for Entry
Once a Riak cluster is up and running we want it to be as hands-free to administer as possible. Things should “just work,” like plumbing. But we’ll be the first to admit that a new user’s initial welcoming with Riak isn’t always as pleasant as it should be.
Some steps are unavoidable: downloading, installing, and/or building from source, etc. But once the initial work is done, the experience should be as inviting as possible. Riak is a very powerful database with numerous options and commands. Riak Control allows you to easily manage/inspect your cluster while ignoring many of these until needed.
Empowering Riak Administrators
When we first sat down to decide what the more important features for any Riak interface should be, one theme stood out above all the others: cluster management. We wanted to give developers and administrators the ability to quickly build a cluster, inspect nodes, and diagnose the health of their cluster. And we wanted it to happen fast.
Riak is about large datasets and clusters replicating that dataset for maximum availability and persistence. We’re working hard to help companies that write many, many GBs per day to clusters containing 50+ nodes. Riak Control is a tool that brings issues and risks front-and-center. And it gives customers the ability to take action in real-time.
The Two-Minute Tour
Riak Control is currently broken up into nested levels of detail. Each page in Riak Control is designed to give you just as much information as you need, nothing more. As you navigate the UI, you’ll gradually be taken deeper into the rabbit hole.
The Snapshot is what you’ll see when you first fire up Riak Control. It should give you a warm-fuzzy feeling when everything is A-okay: an unmistakable, beautiful green check mark.
For times when things aren’t perfect, you will be presented with a list of concern areas. Each will have links to other pages of Riak Control where you can take a closer look at the problem.
The cluster page is where you can get a quick look at all of the nodes in your cluster and manage membership.
With a glance you can see which nodes are partitioned from the rest of the cluster or offline, which are leaving or joining the cluster, view partition ownership, monitor memory, and more. And with a click you can add nodes to the cluster, take nodes offline for maintenance, and leave the cluster.
One level deeper than the cluster view is the ring page. This is where you can see the health of each partition. Most of the time, your ring will be too large to really manage from the ring view. But with the filters you can immediately find which partitions are owned by which nodes, partitions whose primary nodes are unreachable, current handoffs, and more.
Riak Control is not standing still. Riak 1.1 includes Riak Control in its early stages so we can begin to gather feedback. We want to know what it does right and what it does wrong. Your feedback and ideas are encouraged. Additionally, we have a list of features and functionality slated for future releases. None of these are set in stone, but here is a list of what we have planned…
While Riak Control is – at its heart – a simple REST API, we’re working to modularize it in a way that allows you to write your own modules/plugins. We want to see Riak Control become a collection of pieces that all snap and work together, empowering you to manage your cluster in the way that best fits your needs.
Currently Riak Control uses a pull model to gather information about the cluster. While this isn’t a performance issue, we very much want to make it a push-system. As things happen to the cluster, the cluster should notify Riak Control of the changes, which in-turn will notify the user.
Clicking on a node name from anywhere should take you to a page giving details specifically about that node, similar to the data you would get from a
riak-admin status command.
Bucket & Object Inspection
While low-level object manipulation isn’t designed to be a primary feature of Riak Control, it is a very handy tool to have, and extremely valuable when initially setting up Riak for the first time. More importantly, Riak buckets will be available to create and inspect.
Riak Control will feature a powerful interface for creating MapReduce queries. You will be able to debug, save, load, and execute previously saved queries with ease.
Customer Support Tools
In addition to the general tools provided for manipulation of the cluster and data, we also are planning for improve monitoring tools.
- View the log files of individual nodes
- See graphs of load, memory latency, disk usage, etc.
- Coalesce and bundle data for support tickets
- File support tickets
Any Comments, Questions, or Feature Requests?
Anything you’d like to share or ask? Join the Riak-Users Mailing List and tell us what you think. The other option is to fork the code and make your opinions known with a pull request or by filing an issue. You can also find some formal documentation on the Riak Wiki.
Thanks for being a part of Riak.