2011-08-26 3 views
0

Voici donc l'énigme. Nous avons récemment décidé de passer à mongoDB comme option pour traiter de grandes quantités de données de contact. Après que nous ayons pris cette décision, la direction a mis en place une politique qui nous obligeait à crypter les données. Nous n'avons pas encore transféré nos contacts actuels de notre base de données Postgres car nous essayons de le faire de manière évolutive.Implémentation d'un modèle de base de données cryptée et évolutive

Le problème est que nous voulons être en mesure d'interroger les données de la base de données qui sont cryptées. Si nous utilisons mongo, nous serons obligés d'extraire l'ensemble des données d'un client, de le déchiffrer, puis d'appliquer les filtres souhaités. Si nous utilisons postgres, nous obtenons la gestion de cryptage/décryptage intégrée, mais nous voulons permettre aux utilisateurs de créer leurs propres champs, et nous préférerions ne pas utiliser les fonctionnalités qui incluent l'ajout et la suppression de colonnes.

idées que nous avons diverti:

  1. Incorporez Hadoop et lui permettre de gérer l'ensemble du traitement des données (et le bâton avec MongoDB)

  2. Groupement de données pour les requêtes plus ciblées (c.-à ce tableau tient 20 utilisateurs < âge < 29)

Nous sommes ouverts à toutes les solutions possibles, y compris d'autres bases de données alternat ives (bien que nous aimerions rester avec MongoDB).

+1

J'irais avec l'option trois et dis à la direction qu'ils ne devraient pas être impliqués dans la sécurité et laisser l'équipe de sécurité s'en occuper. – Layke

Répondre

0

Qu'en est-il du chiffrement du système de fichiers?

+0

Je ne sais pas pourquoi vous avez été abattu, cela semble être une solution raisonnable. – arnaud576875

+0

Désolé, pas très familier avec le territoire de chiffrement du système de fichiers. Quel type de surcharge de performances cela crée-t-il pour les tables qui voient des insertions et des requêtes régulières. – Ghjnut

0

Je remplacer les méthodes serialize/deserialize par défaut du sérialiseur et transmettre une stratégie de chiffrement. En tant que sérialiseur mongo je Doctrine utiliser ODM (http://www.doctrine-project.org/projects/mongodb_odm). Je ne l'ai jamais utilisé, mais j'ai eu de bonnes expériences avec ORM de Doctrine :)

Questions connexes