Difference between revisions of "Infrastructure"
Line 58: | Line 58: | ||
===Frontend=== | ===Frontend=== | ||
− | * | + | *the web frontend uses Apache web server as a proxy for serving web requests to Tomcat |
− | + | *the OpenCellID web application is running on Tomcat and is reading and writing cell measurement data to/from the MongoDB database backend | |
− | * | + | *jQuery Mobile is responsible for providing a cross-platform user interface |
− | + | *the map is displayed using OpenStreetMap combined with Leaflet library | |
− | *jQuery Mobile is responsible for providing a cross-platform user interface | + | |
− | + | ||
− | * | + | |
===Database Backend=== | ===Database Backend=== | ||
The database backend, with a current 4.4 million cell towers and about 565 million measurements (1.1.2014), is a MongoDB database cluster with six servers: | The database backend, with a current 4.4 million cell towers and about 565 million measurements (1.1.2014), is a MongoDB database cluster with six servers: | ||
− | * | + | *three servers are serving as MongoDB configuration servers |
− | * | + | *the other three servers are serving as the database backend with one replication set spread across the three servers |
==Challenges and solutions== | ==Challenges and solutions== | ||
− | The OpenCellID community is very strong and | + | The OpenCellID community is very strong and continuously provides a high number of measurements.<br> |
This immediately poses a few challenges: | This immediately poses a few challenges: | ||
− | * High Volume<br>data arrives from many | + | *High Volume<br>data arrives from many different sources and is rapidly growing |
− | * Scale<br>growth of data should go along with predictable, incremental costs and no downtime should be needed when adding additional server resources | + | *Scale<br>growth of data should go along with predictable, incremental costs and no downtime should be needed when adding additional server resources |
− | * Data Processing<br> | + | *Data Processing<br>the analysis and process of the rapidly growing data must be constantly efficient |
The current solutions are based on MongoDB and its features:<br> | The current solutions are based on MongoDB and its features:<br> | ||
Line 89: | Line 86: | ||
Details about the implemented software and infrastructure can be found above. | Details about the implemented software and infrastructure can be found above. | ||
− | There are plans to publish the entire server software as open source for stimulating the contribution of software features of other community members of the OpenCellID project. | + | There are plans to publish the entire server software as open source for stimulating the contribution of software features of other community members of the OpenCellID project. This will most likely happen before the end of 2014. |
|} | |} |
Revision as of 04:34, 31 January 2014
ContentsServers
Software stackOperating SystemAll OpenCellID servers are running with Ubuntu Linux 12.04 LTS. Frontend
Database BackendThe database backend, with a current 4.4 million cell towers and about 565 million measurements (1.1.2014), is a MongoDB database cluster with six servers:
Challenges and solutionsThe OpenCellID community is very strong and continuously provides a high number of measurements.
The current solutions are based on MongoDB and its features:
The brainKrzysztof Ociepa (email: [email protected]) has designed the big-data infrastructure as well as the new OpenCellID server software based on Java and MongoDB, and has also implemented most of the current features after two other developers failed to do so. Details about the implemented software and infrastructure can be found above. There are plans to publish the entire server software as open source for stimulating the contribution of software features of other community members of the OpenCellID project. This will most likely happen before the end of 2014. |