핫 이슈

paper, code, information

희황 2013. 6. 20. 16:03

Google uses distributed process for almost everything (not only very smart algorithms). It published papers on its proprietary architeture that enables algorithms to actually make it:

  • Google File System is the distributed file system. Base of it all
  • Map Reduce is a framework for using functional programming concepts and making distributed programming easier.
  • Big Table is the distributed non-relational database. In spite of being non-relational, Google made it avaible throguh JPA, as it can be seen on Google App Engine for Java.
  • Chubby is a distributed lock server used on all the server/client failover/election management.
  • Sawzall is a domain specific language that allows developers to craft common Map Reduce applications with a lot less coding. Uses the now open source Protocol Buffers as a multi-language, blindling fast, serialization mechanism.

Open Source Implementations:

  • Haddop, now being developed with big support from Yahoo, is an open source implementation of both Map Reduce framework, and a distributed File System.
  • Skynet is a ruby implementation of Map Reduce
  • CloudStore, formerly known as Kosmos File System, is an implementation of the file system.
  • Hyperable is an implementation of BigTable.
  • Hbase is yet another implementation of BigTable.
  • Cassandra is yet another implementation of BigTable. Facebook recently open sourced it, and hosted it as a Apache project.
  • Zookeeper is implementing the distributed lock server.

More info on some great Wikipedia articles: