7
votes

Sélection de la base de données pour une application d'analyse de bande Web

Je souhaite créer une application Web similaire à Google-Analytics, dans laquelle je collectionne des statistiques sur les utilisateurs finaux de mes clients et montrez à mes clients en fonction de ces données.

Caractéristiques:

  • Haute évolutivité, gérez un volume très grand
  • compartimentalisé - Les requêtes fonctionnent toujours sur les données d'un seul client
  • Soutien des requêtes analytiques (forage, tranches, etc.)

    En raison du besoin analytique, je envisage d'utiliser une suite OLAP / BI, mais je ne suis pas sûr que cela soit destiné à cette échelle. Base de données NOSQL? Les SJB simples feraient?


0 commentaires

3 Réponses :


4
votes

Celles-ci que j'utilise au travail dans un environnement de production et cela fonctionne comme un charme.

J'ai goûté trois choses

PostgreSQL + luciddb + Mondrian (plus généralement tous les composants de la suite Pentaho BI)

  • postgreSQL : Je ne vais pas décrire PostgreSQL, Vraiment forte Open Source SchoDMS vous laissera faire - certainement - tout ce dont vous avez besoin. Je l'utilise pour stocker mes données opérationnelles.

  • luciddb : LuCiddb est une base de données de colonne open source. Très évolutif et fournira un réellement gagnant de temps de traitement comparer à PostgreSQL pour récupérer une grande quantité de données. Il n'est pas optimisé pour le traitement des transactions, mais pour des lectures intensives. Ceci est ma base de données DataWarehouse

  • Mondrian : Mondrian est un cube R-Olap open source. Luciddb a permis de connecter ces deux programmes ensemble.

    Je vous recommanderais de regarder toute la suite Pentaho BI, cela en vaut la peine, vous voudrez peut-être utiliser certains de ses composants.

    J'espère que je pourrais aider,


2 commentaires

Merci! Y a-t-il quelque chose à Pentaho BI axé sur mes besoins spécifiques d'avoir de nombreux clients utilisant le même système? Chaque client se connecterait au système et ne doit pas accéder à ses propres données. Aussi, dans quelle mesure cette approche peut-elle échouer?


Qu'entendez-vous par «n'accueillant que ses propres données» ceci est dans la couche d'application. La base de données n'a rien à traiter. Pour les nombreux clients Oui, si vous avez vraiment besoin de vous pouvez déployer Pentaho sur le nuage.



1
votes

Je dirais que, après avoir mis en place une analyse OLAP, est toujours agréable et présente un grand potentiel d'analyse de données sophistiquée à l'aide de MDX.

  • Que voulez-vous dire par gros volume?
  • Où sont les informations de votre utilisateur?
  • Quel type de front-end et de reporting allez-vous utiliser?

    acclamations.

    Disclaimer: Je vais faire une certaine publicité pour ma propre solution - jetez un coup d'œil à www.iccube.com et contactez-moi pour plus de détails


0 commentaires

2
votes

Il existe deux architectures principales que vous pourriez opter pour une vraie balance Web:

1. Architecture "bi"

  • Evénement Journaller (par exemple, LWES JOURNALLER ) ou magasin d'événements immutables (par exemple, HDFS ) flux
  • Base de données Analytics / Colonne-Store (par exemple, greenplum , infinidb, luiddb , Infobright ) flux
  • Outil de rapport de l'intelligence d'entreprise (par exemple, microstrategy , Pentaho Business Analytics )

    2. Architecture "NOSQL"

    • (facultatif) Journalers d'événement ou magasin d'événements immutables flux
    • Base de données NOSQL (par exemple, Cassandra , Riak, HBase) flux
    • Un UI Analytics personnalisé (par exemple en utilisant d3.js )

      Le magasin d'événements immuables ou Journaller est là car, dans la plupart des cas, vous souhaitez combiner vos événements d'analyse et faire des mises à jour en vrac à votre base de données (même avec quelque chose comme des HDFS) - plutôt que de faire une écriture atomique pour chaque vue de page, etc. .

      pour Snowplow , notre plate-forme d'analyse open source construite sur Hadoop and Hive, les journaux des événements sont tous recueillies sur S3 avant d'être lot chargé dans la ruche.

      Notez que «l'architecture NOSQL» impliquera un bon travail de développement juste. N'oubliez pas qu'avec l'une ou l'autre architecture, vous pouvez toujours faire du client si les volumes deviennent véritablement épiques (milliards de lignes par client) - car il n'y a pas besoin (je devine) pour des analyses cross-client.


0 commentaires