Much Ado About Stored Procedures

Drizzle is against stored procedures (SP): Drizzle does not currently have any plugins that implement stored procedures. We viewed the implementation in MySQL to be non-optimal. They bloat the parser and only support one language (SQL2003 stored procedures), which was not well known. Fundamentally, stored procedures usually are not the correct architectural decision for applications that need to scale. Pushing more computation down into the database (which is the trickiest layer to scale) isn’t a good idea. We do recognize the value of using stored procedures to reduce the time row locks are held, but think we can achieve the … Continue reading Much Ado About Stored Procedures

SQL Injection

Courtesy: uber:ASP.Net By now you’re probably familiar with the risk of SQL injection attacks. Just to refresh your memory, this is when a naughty user of your site gets actual SQL statements to execute by way of a form on your page. If you concatenate strings to form SQL commands, you’re at risk. Consider this spot of code: string sql = “SELECT * FROM User WHERE Name = ‘” + NameTextBox.Text + “‘ AND Password = ‘” + PasswordTextBox.Text + “‘”; Seems innocent enough, right? If someone knows that your code looks like that, you could be in a world … Continue reading SQL Injection

NewSQL Ecosystem

Courtesy: ReadWriteWeb We talk often about various types of NoSQL databases – document stores like Apache CouchDB, graph databases like Neo4j and BigTable clones like Hbase. But we also occasionally talk about various attempts to improve the tried and true relational database model – projects like Drizzle (coverage), HandlerSocket (coverage), RethinkDB (coverage), TokuTek (coverage) and VoltDB (coverage). The 451 Group dubs these “NewSQL” databases. In a blog post, 451 analyst Matthew Aslett explores this burgeoning category of database and adds several to our growing list of projects. On the definition of NewSQL, Aslett writes: “NewSQL” is our shorthand for the … Continue reading NewSQL Ecosystem

Problems of RDBMS

RDBMS is highly touted for its ACID properties. That was fine until the the advent of applications which demand speed and scalability. Couchbase explains: In an effort to address the shortcomings of RDBMS technology in modern interactive software systems, developers have adopted a number of “band aid” tactics: Sharding In this approach an application will implement some form of data partitioning to manually spread data across servers. While this does work to spread the load, there are undesirable consequences to the approach: When you fill a shard, it is highly disruptive to re-shard. You lose some of the most important … Continue reading Problems of RDBMS

Database as a Service (DBaaS)

Courtesy: HighScalability.com The Relational Cloud Project is an effort by a group of researchers at MIT to investigate technologies and challenges related to Database-as-a-Service within cloud-computing. They are trying to figure out how the advantages of the DaaS (Database-as-a-Service) model, that we’ve seen arise in other areas like OLAP and NoSQL, can be applied to relational databases. The DaaS advantages as they see them are: 1) predictable costs, proportional to the quality of service and actual workloads, 2) lower technical complexity, thanks to a unified and simplified service access interface, and 3) virtually infinite resources ready at hand. An interesting description of their … Continue reading Database as a Service (DBaaS)