Git Product home page Git Product logo

mma_ddm's Introduction

Metro Mobile Application's Distributed data management layer (MMA_DDM)

The reference domain concerns a Metro public transportation service. In this context, we are interested in a mobile application that works as a data recorder for vehicles.

The application uses mobile data connections to send information to servers in real time. Data are stored and are not managed as a stream. The information includes measurements such as the location and speed of the vehicles.

Typical workloads mix together write and read operations. The aim of this project is the design and the implementation of the distributed data management layer for the mobile application.

To this aim, we choose Cassandra as reference technology and we rely on CQL for workload implementation. Our mobile application needs workload both read and write operations. Cassandra provides very good performance for both kinds of operations.

The mobile application needs a database containing data about drivers, railway vehicles, time table, availability of drivers and vehicles, and current position and speed of vehicles (Data Point).

The deployment of the application and the test database should involve a cluster of machines. The infrastructure team has agreed to the following Availability requirements:

     • a Strong Availability for 100% of the data must be provided when one node is down.

The product team has agreed to the following consistency requirements:

   • Reading driver and vehicle data must be strongly consistent;
   • Reading Data Point and other data may be eventually consistent.

We started by desgning the conceptual schema of this problem, then identifying its workload, and based on the results of this two steps and cassendra specification we will deseign the logical schema using query-driven design.

The main parts of this project are:

  - 1: Database layer design   (see presentation file)
  - 2: Dataset generation based on real information of London metro (see data generation folder)
  - 3: Implementation of required workload usin CQL (see CQL_implementation folder).

mma_ddm's People

Contributors

souadoo avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.