Current Twitter Status

See status in context

Subsidized Fear

Terror Alert Level

Links Tagged With “databases” (Show All Items Tagged With “databases”)

Wolfram|Alpha

Bookmarked via Diigo on Saturday, May 16, 2009 @ 08:55 CDT by Daniel Andrlik

Quite simply, I think this is one of the greatest advances in library science and computing in recent memory. This isn’t just a toy or a search engine, this is a knowledge processor that makes any factual data in its system instantly computable.

If you are a teacher or scientist, you need to be paying attention to this. In fact, if you are a human being who is engaged with any sort of data, you need to be paying attention to this as well, because while Wolfram|Alpha may not live forever, this advance, as well as any of its inevitable successors, are the future of information computing.

View Link Source

How FriendFeed uses MySQL to store schema-less data - Bret Taylor’s blog

Bookmarked via Diigo on Friday, February 27, 2009 @ 08:39 CST by Daniel Andrlik

This is a fascinating read by those of you who, like myself, are particularly interested in approaches to scaling applications at the database level. According to this post, FriendFeed has implemented a very interesting schema-less model for storing data within MySQL.

From the article:

As our database has grown, we have tried to iteratively deal with the scaling issues that come with rapid growth. We did the typical things, like using read slaves and memcache to increase read throughput and sharding our database to improve write throughput. However, as we grew, scaling our existing features to accomodate more traffic turned out to be much less of an issue than adding new features.

[snip]

Our datastore stores schema-less bags of properties (e.g., JSON objects or Python dictionaries). The only required property of stored entities is id, a 16-byte UUID. The rest of the entity is opaque as far as the datastore is concerned. We can change the “schema” simply by storing new properties.

We index data in these entities by storing indexes in separate MySQL tables. If we want to index three properties in each entity, we will have three MySQL tables - one for each index. If we want to stop using an index, we stop writing to that table from our code and, optionally, drop the table from MySQL. If we want a new index, we make a new MySQL table for that index and run a process to asynchronously populate the index without disrupting our live service.

As a result, we end up having more tables than we had before, but adding and removing indexes is easy. We have heavily optimized the process that populates new indexes (which we call “The Cleaner”) so that it fills new indexes rapidly without disrupting the site. We can store new properties and index them in a day’s time rather than a week’s time, and we don’t need to swap MySQL masters and slaves or do any other scary operational work to make it happen.

Make sure to read the article for a lot of design details, it is a very interesting approach to scaling.

View Link Source

Is the Relational Database Doomed? - ReadWriteWeb

Bookmarked via Diigo on Thursday, February 12, 2009 @ 22:39 CST by Daniel Andrlik

This is a pretty good summary of what’s going on with non-relational databases right now. There’s definitely some interesting things happening with them, and they are certainly easier to scale.

That being said, I wouldn’t go so far as to say that relational databases are doomed. The advantages of having a data store that automatically enforces integrity constraints, as well as the well-defined standards that allow developers to pick their poison with regards to database without having to alter their code base means that relational databases are going to remain compelling for small to medium projects, as well as large mission-critical applications for quite a while. Combine that with advanced database techniques such as sharding to help distribute relational databases across multiple servers, and I think relational databases will be around for some time to come.

That being said, non-relational databases could very well become the standard for cloud-computing applications, but they will need to settle on some common standard for development before it happens.

View Link Source

Django Evolution

Bookmarked via Diigo on Saturday, April 12, 2008 @ 10:29 CDT by Daniel Andrlik

This is one of the more promising projects in progress on the Schema Migration front. Schema evolution can be a bit painful and projects like this for automatically migrating database structure based on the Python model code will be a necessity for long term projects.

View Link Source

Tsearch2 - full text extension for PostgreSQL

Bookmarked via Diigo on Thursday, July 12, 2007 @ 19:34 CDT by Daniel Andrlik

Mmm… full text indexing…

View Link Source