핫 이슈
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: