Showing posts with label DB. Show all posts
Showing posts with label DB. Show all posts

Sunday, June 6, 2010

RabbitMQ

RabbitMQ is based on a proven platform, offering exceptionally high reliability, availability and scalability along with good throughput and latency performance that is predictable and consistent. It has a compact, easily maintainable code base allowing rapid customisation and hot deployment. There are extensive facilities for management, monitoring, control and debugging and it is supported by a full range of commercial support services and an active community developing packages that extend the core system.

http://www.rabbitmq.com/index.html

Wednesday, November 18, 2009

Understanding the MySQL forks

But in the distributed revision control world we live in, it's never really that simple. Here are some other notes:

  • XtraDB is an InnoDB fork and "mostly" only a storage engine. It has a future in MariaDB and Drizzle, but may not make it into MySQL (about to be owned by Oracle, who also owns InnoDB).
  • OurDelta collects more patches than just the Percona patches, and enables the PBXT storage engine. There's also a repository of OurDelta for 5.1 - binaries just aren't out yet.
  • Like XtraDB, PBXT has a future in Drizzle, MariaDB and *maybe* also MySQL (Oracle may be more friendly towards PBXT than XtraDB, but Oracle is not known to be friendly so who knows!). I left PBXT absent from the diagram for not having much of a lineage with previous MySQL releases (flames welcome if you disagree).
  • XtraDB draws a lot from the Google patches for MySQL/InnoDB (not present on the diagram either).
  • Drizzle is now incompatible with everything else in MySQL-land terms (replication, partitioning, etc), and they're happy to be. In storage engine terms, they're still compatible though, which leads me to describe Drizzle as a completely new "userland", with storage engine options still remaining very similar.
  • MariaDB is both a new storage engine (Maria) and a userland "delta" of MySQL. I call it a delta since it is trying to keep binary-format compatibility with MySQL wherever it can. This means that it makes a good retrofit, but it limits what they can do without changing things like the .frm format, etc.
  • The InnoDB plugin has a weird history. Oracle announced it as an optional replacement for the 5.1 InnoDB but not much has become of it since introduction. I would have expected 5.4 to be based off the plugin, but it's not (at least at this point).
  • MySQL is the real loser in the direction the patches are moving. While all other forks are free to share amongst themselves (where compatible) and take from MySQL, MySQL will only accept a patch if the author signs a Contributor's License Agreement. They need to do this - otherwise they can't sell OEM copies, which still make a large chunk of sales. Until recently, MySQL didn't accept any InnoDB patches unless they came downstream from Oracle, and Oracle keeps InnoDB development as a closely guarded secret - which makes influencing it very difficult.
http://mtocker.livejournal.com/50931.html

Sunday, November 15, 2009

DB Charmer – ActiveRecord Connection Magic Plugin

DbCharmer is a simple yet powerful plugin for ActiveRecord that does a few things:

  1. Allows you to easily manage AR models’ connections (switch_connection_to method)
  2. Allows you to switch AR models’ default connections to a separate servers/databases
  3. Allows you to easily choose where your query should go (on_* methods family)
  4. Allows you to automatically send read queries to your slaves while masters would handle all the updates.
  5. Adds multiple databases migrations to ActiveRecord

Thursday, November 12, 2009

OurDelta

OurDelta produces enhanced builds for MySQL 5.0 and builds for MariaDB 5.1, on common production platforms. James Purser of Open Source On The Air describes OurDelta as “a new distribution for MySQL”.

http://ourdelta.org/

Sunday, September 6, 2009

Master slave adapter

This simple plugin acts as a common ActiveRecord adapter and allows you to setup a master-slave environment using any database you like (and is supported by ActiveRecord).

This plugin works by handling two connections, one to a master database, that will receive all non-"SELECT" statements, and another to a slave database that that is going to receive all SELECT statements. It also tries to do as little black magic as possible, it works just like any other ActiveRecord database adapter and performs no monkeypatching at all, so it’s easy and simple to use and understand.

http://agilewebdevelopment.com/plugins/master_slave_adapter

Thursday, July 2, 2009

MongoDB

The best features of key/values stores, document databases and RDBMSes in one.

MongoDB is a high-performance, open source, schema-free document-oriented database. MongoDB is written in C++ and offers the following features:

  • Collection oriented storage - easy storage of object-style data
  • Dynamic queries
  • Full index support, including on inner objects
  • Query profiling
  • Replication and fail-over support
  • Efficient storage of binary data including large objects (e.g. videos)
  • Auto-sharding for cloud-level scalability (Q209)

A key goal of MongoDB is to bridge the gap between key/value stores (which are fast and highly scalable) and traditional RDBMS systems (which are deep in functionality).

Quick Links
Support
Info
Languages

Monday, June 8, 2009

rubyrep

Development of an open-source solution for asynchronous, master-master replication of relational databases that is

  • ridiculously easy to use
  • database independent1

1 Currently supports PostgreSQL and MySQL.

  • Can scan two databases for differences
  • Can sync two databases
  • Can continuously replicate between between two databases

For the full feature list please click here.

http://www.rubyrep.org/

Wednesday, January 28, 2009

Ruby/DBI - Direct database access layer for Ruby

Ruby/DBI is a database interface in the spirit of Perl's prolific DBI authored by Tim Bunce.

Ruby/DBI differs in quite a few ways, however. It incorporates many "rubyisms" while maintaining the core DBI interface, and a suite of commonly used DBD's are maintained with the application.

Ruby/DBI is not an ORM, like ActiveRecord or DataMapper. It is a lightweight, centralized API to database manipulation. An ORM may or may not be what you want for a given situation, due to weight, ease-of-use or other issues. Our goal with Ruby/DBI is to provide a compelling, lightweight interface that you can use for things where an ORM is too much or too cumbersome.

Getting started with Ruby/DBI is very easy if you have a working knowledge of SQL and your target database. Read the Documentation to get on your way!

The maintainer, Erik Hollensbe, has made a commitment to keeping Ruby/DBI compatible with future Ruby releases. There is also a significant interest in enhancing the suite by further clarifying and enforcing the interface, and further tailoring DBI for the specific needs of Ruby users (as opposed to many of the Perlisms maintained) without impacting the goal of the project. There is also significant effort applied to clarifying the underpinnings, making debugging and development simpler.

http://ruby-dbi.rubyforge.org/

Monday, October 27, 2008

A DB admin interface written in Rails

The Rails Rumble 2008 took place last week end and we took this contest as an opportunity to bootstrap a project we had in mind for some time. I teamed up with Jessy Bernal, with whom I am developing at Massive Brain Games, and Sylvain Utard, the creator of Live On Bankiz. The said project is a DB interface written in Rails and meant as a replacement for the classic phpMyAdmin. Not an extremely original idea I must confess but we found nonetheless a few reasons that motivated this project.

http://dev.massivebraingames.com/past/2008/10/21/a_db_admin_interface_written