Le choix de la technologie utilisée pour votre base de données est toujours un choix délicat et déterminant dans la bonne conduite de votre projet. Aujourd'hui de nombreuses solutions existent (PostgreSQL, Oracle, MongoDB, etc...). J'ai décidé de vous présenter la solution fournie par Apache, "Apache couchDB". Cette solution faisant partie de la mouvance NoSQL, est un système de gestion de base de données orienté documents (formaté en JSON) et écrit en langage Erlang. De plus, elle possède une API REST qui permet de faire toutes les opérations nécessaires sur une base de données telles que des insertions, modifications ou suppressions de données. Mais également d’effectuer des requêtes complexes qui pourront être réalisées à l'aide du patron d'architecture MapReduce.
Archives par tag : base de données
Quel client pour MongoDB ?
Débutant sur MongoDB, la première question qui se pose suite à la prise en main en ligne de commande est sur le choix du client.
Nous ne verrons pas ici ce qu’est MongoDB ou comment cette base de données NoSQL fonctionne. Mais nous nous pencherons sur les différents clients disponibles pour faciliter son utilisation.
Talend : comment transformer un blob en string
DoctrineMigrationsBundle avec Symfony 3.1
Appréhender l’évolution du schéma de la base de données est très important durant le cycle de vie d’un projet, car la base de données étant le cœur de notre produit nous devons avoir toutes les informations sur ses changements et pouvoir faire un rollback au moindre problème. DoctrineMigrationsBundle est un bundle doctrine qui nous permet donc de suivre cette évolution, de migrer la structure et les données de notre base de données, de manière sécurisée et standardisée.
Restauration rapide de bases de données
Vous êtes en charge d’un projet s’appuyant sur plusieurs bases de données, dont une base de fichiers (FILESTREAM) ? C’est une corvée de devoir supprimer, puis remonter toutes ces bases pour faire une démonstration avec des données « propres » à un client ? Alors voici une petite astuce qui pourrait vous rendre service.
Configurer elasticsearch sur un projet symfony 2
Elasticsearch est un moteur de recherche libre. Elasticsearch fournit toutes les fonctionnalités d'un moteur de recherche nouvelle génération : les recherches par mots-clés « à la Google », les recherches par combinaison de critères et de filtres, le tri et la pagination des résultats, la gestion des synonymes, l'extraction de texte à partir de documents binaires, l'analyse et la navigation par facettes.
Dans cet article je vais vous présenter la configuration de base du bundle FOSElasticaBundle dans un projet Symfony 2.
Transformation de données avec un outil ETL
Tests unitaires utilisant une base de données : de nouvelles perspectives ?
L'utilisation d'une BD dans le cadre des tests unitaires est une chose qui est assez délicate, et ce pour plusieurs raisons. En effet, les tests utilisant les BD ont la réputation d'être lents, et il est difficile d'être sûr de rendre une BD dans le même état que lorsqu'on l'a prise, c'est à dire de trouver de bonnes manières de faire des opérations de setup et de teardown.
C'est pour cela qu'il est parfois pratique de partir d'une Golden Database, c'est à dire une base de données préparée pour les tests (par exemple, dans le cas de Magento, une base de données allégée, dans laquelle on a par exemple vidé les logs, les tables de cache, les commandes, et dans laquelle on laisse uniquement le minimum en terme de produits, clients,…).
Comment obtenir rapidement le MPD d’une base existante avec SchemaSpy ?
SchemaSpy est un outil écrit en Java. Il permet de générer le MPD (Modèle physique de données) d’une base de données existante à partir des méta-données de la base. C’est un outil open-source distribué sous GNU public licence 2.1.
Datomic, la base de données qui n’oublie rien
C'est au cours d'une conférence de Devoxx France 2015 que j'ai eu connaissance de cette nouvelle base de données ou devrais-je dire de ce nouveau type de base de données.
Datomic est une base de données transactionnelle, distribuée et temporelle.