2013-10-04 4 views
0

Ok, laissez-vous tenter rencontré d'expliquer cela plus en détail. Je développe un système de diagnostic pour les avions. Imaginons que les avions disposent de 6 à 8 ordinateurs de bord. Chaque ordinateur a plus de 200 paramètres différents. Le système de diagnostic reçoit tous ces paramètres de paquet au format binaire, puis transférer les données selon les formules (à km, km/h, vitesse de rotation, min, s, pascals et ainsi de suite) et doit stocker en quelque sorte dans une base de données. Les nouvelles données doivent être traitées toutes les 10 à 20 secondes et stockées dans la persistance à nouveau. Nous stockons les données pour un traitement analytique supplémentaire.Quelle est la meilleure façon de stocker des entités hautement paramétrées?

Exigences de stockage:

  • soutien sharding et la réplication
  • lecture rapide: soutien btree-indexation
  • NoSQL
  • écriture rapide

Donc, je calcule un utilisation moyenne de disque ou de RAM par un avion par jour. Il s'agit d'environ 10 - 20 Mo de données. Donc, une charge estimée est de 100 avions par jour ou 2 Go de données par jour.

Il semble que pour stocker toutes les données dans la RAM (mémoires memcached-aimé: Redis, MemBase) ne conviennent pas (trop cher). Cependant, maintenant je regarde le côté mongodb. Comme il peut utiliser comme RAM et l'utilisation du disque, il prend en charge toutes les exigences adressées.

S'il vous plaît, partagez votre expérience et conseils.

+0

Quel genre d'outils voulez-vous utiliser pour analyser les données? Si OLAP, alors vous voulez une interface SQL traditionnelle. Peut utiliser Hive contre HBase ou Hadoop. Besoin de réduire la carte contre mongo. –

+0

Merci @NeilMcGuigan pour votre contribution. Pour l'analyse, je voudrais que les données pré-agrégées soient traitées avec [storm] (https://github.com/nathanmarz/storm) (basé sur Java). Depuis, il est facile à distribuer et garantit la disponibilité. Qu'est-ce que tu penses ? Pourriez-vous être plus précis, s'il vous plaît! J'ai besoin de plus de détails, peut-être des cas d'utilisation que vous avez déjà couverts. –

+0

De combien de temps avez-vous besoin pour stocker les données (depuis l'analyse en temps réel)? Avez-vous besoin d'une capacité de lecture à accès aléatoire? Cela ne vous dérange pas que de mettre les données dans HDFS (Hadoop File System). –

Répondre

Questions connexes