Cloud

From Organic Design
Jump to: navigation, search

Migrating systems into the cloud means ensuring that the systems are able to transparently scale to an arbitrarily sized cluster of servers. This has traditionally been a problem where SQL is concerned because complex queries (for example those using joins) are unable to execute across large numbers of servers in a scalable way if the data is partitioned across them, and if the data is fully mirrored, then changes to the data don't scale because they must be pushed to all the servers.

However there are nowadays a number of different technologies available which can scale well, some of them are amongst the so called "NoSQL" paradigm which use a totally different querying language designed specifically for distributed systems, and others such as Apache's Hive and Google's GQL. The storage layer in a cloud or distributed system is called a "datastore" rather than a "database". Switching from a relational database to the Datastore requires a paradigm shift for developers when modelling their data.

For us at Organic Design the concept of migrating to the cloud is very important because we'd like our entire infrastructure to eventually work in P2P space which has very similar technical requirements to the cloud. The problem is that most of the popular content management systems available are heavily reliant on fully-featured SQL. One exception is Plone which instead uses the ZODB (Z Object DB) for its storage and querying layer which can in turn plug in to a variety of different storage mechanisms, so hopefully adding a DHT to this wouldn't be too difficult.

See also