background preloader

Mongodb

Facebook Twitter

Sans titre. Gmin332 c4 14. Pourquoi s’intéresser aux graph-databases ? Les bases de données orientées graphe, vous en avez sans doute entendu parler, mais votre todo regorge de « trucs cool à essayer », alors pourquoi s’intéresser aux graph-databases dès aujourd’hui ? Vous avez dit Graphe ? Les bases de données orientées graphe sont des bases de donnée NoSql, sans schéma, dont la plupart des implémentations sont ACID. Les objets stockés sont uniquement des nœuds (objets), des relations et des propriétés, ces dernières étant portées par les nœud et les relations. Leur force réside en la connaissance à chaque nœud du pointeur physique menant à ses nœuds voisins au lieu de le retrouver en parcourant un index via son identifiant, rendant donc les recherches locales très rapides, entraînant ainsi un gain de performance dès lors que la recherche touche des données connexes. Seul le premier nœud d’où part la recherche est recherché en parcourant l’index.

En effet chaque recherche est un parcours partant d’un nœud. Nos données ont changé Mais que faire ? A vous de jouer. Les Bases Orientées Graphes, NoSQL et Neo4j. Introduction Parmi les différents modèles de données, le modèle relationnel a dominé depuis les années 80, avec des implémentations telles qu'Oracle, MySQL et MSSQL - aussi connus sous le nom de Systèmes de Gestion de Bases de Données Relationnelles (SGBDR). Pourtant, ces derniers temps dans un nombre croissant de cas d'utilisations l'usage de bases de données relationnelles a rencontré des écueils à la fois à cause de problèmes et de manques dans la modélisation des données et à cause de contraintes de montée en charge horizontale, distribuée sur plusieurs serveurs et de gros volumes de données.

Il y a deux tendances qui ont exposé ces problèmes à l'attention de la communauté internationale des développeurs: Les bases de données relationnelles ont de plus en plus de mal à s'accommoder de ces tendances. Cet article a pour but de donner une vue d'ensemble de comment les bases de données orientées graphes se positionnent dans le mouvement NOSQL. L'environnement NOSQL 1. CAP: ACID vs. 2. Tinkerpop/gremlin. Graph Databases 2e Neo4j. Specification. 1. Introduction GeoJSON is a format for encoding a variety of geographic data structures. A GeoJSON object may represent a geometry, a feature, or a collection of features.

GeoJSON supports the following geometry types: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection. Features in GeoJSON contain a geometry object and additional properties, and a feature collection represents a list of features. A complete GeoJSON data structure is always an object (in JSON terms). In GeoJSON, an object consists of a collection of name/value pairs -- also called members. 1.1.

A GeoJSON feature collection: 1.2. JavaScript Object Notation (JSON), and the terms object, name, value, array, and number, are defined in IETF RFC 4627.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. 2. 2.1 Geometry Objects 2.1.1. 2.1.2. 3. Réinvention de la gestion des informations. Data Model Design — MongoDB Manual 3.0. Effective data models support your application needs. The key consideration for the structure of your documents is the decision to embed or to use references.

Embedded Data Models With MongoDB, you may embed related data in a single structure or document. These schema are generally known as “denormalized” models, and take advantage of MongoDB’s rich documents. Embedded data models allow applications to store related pieces of information in the same database record. In general, use embedded data models when: you have “contains” relationships between entities.

In general, embedding provides better performance for read operations, as well as the ability to request and retrieve related data in a single database operation. However, embedding related data in documents may lead to situations where documents grow after creation. To interact with embedded documents, use dot notation to “reach into” embedded documents. Normalized Data Models In general, use normalized data models: Nested Categories. The nested categories schema design pattern targets the hierarchical structures traditionally found in a product catalog on an line e-commerce website.

Trees using Paths Let’s insert the category /electronics/embedded and a product that belongs in this category. In the Trees as Paths we are using what looks like file directory paths from UNIX. Together with regular expressions we can slice the paths as we need to efficiently retrieve any level of the tree structure. A couple of notes about the schema above. Notice that the product has an array of categories. Lets fetch all the categories just below the top level / Notice the regular expression /^\/$/.

Locate the entire tree structure below the cases level /cases Notice the regular expression /^\/cases\/$/. To locate all the products for the /electronics/embedded category This will match any documents where the categories array contains the string /electronics/embedded. Indexes Covered Indexes Pros and Cons Pros Cons Trees using Ancestors Array. Mongodb/node-mongodb-native. MongoDB. Mongo.fr. The MongoDB 3.0 Manual — MongoDB Manual 3.0.5. Authentification sous MongoDB « Throrïn's Studio.

Aujourd’hui, changement complet de technologie. Depuis quelques semaines au travail, nous migrons notre projet PHP/MySQL/JS vers du NodeJS/MongoDB avec une API REST. Je vais donc partager avec vous un point avec lequel j’ai eu un peu de mal : L’authentification avec MongoDB. Je tiens à préciser que cet article ne remplace pas la documentation officielle et qu’ici, il ne s’agit que d’une mise en application à travers ce que j’ai compris. Si j’ai fait une erreur, merci de me le préciser en commentaires. Je ne m’attarderai pas sur qu’est-ce que MongoDB et quelles sont les différences avec une base de donnée relationnelle. Si vous voulez savoir ceci, je vous renvoie pour le moment vers cet article donnant la plupart des différences avec MySQL, CouchDB et MongoDB.

Si vous avez mongoDB installé sur votre serveur, vous savez aussi que vous avez, à l’instar de MySQL, un client disponible en ligne de commande, à savoir pour MongoDB : mongo. Use admin db.addUser("nomduuser", "password") auth = true. MongoDB - Ecole IN2P3 2013 Travaux Pratiques - IN2P3-Forge. Updated over 1 year ago par Rouet Jean-René Premier Pas¶ Connexion à la machine virtuelle et démarrage de mongo¶ A. Lancement du serveur mongodb sudo service mongod start B. Mongo C. Pour vous familiariser avec l'environnement essayez ces quelques commandes : help db.help() D.

E. Javascript¶ A. Function helloWorld(text) { print(text); } helloWorld("Hello World ! ") B. Print("DB methods:"); print("\tdb.addUser(userDocument)"); Insertion¶ A. B. E. Db.licornes.find().pretty() db.system.indexes.find() G. Recherche¶ Executez les requêtes permettant de donner les résultats suivants : A. B. C. D. Mise à jour¶ A. B. Nettoyage¶ A. B. Db.stats() { "db" : "ecole_info", "collections" : 0, "objects" : 0, "avgObjSize" : 0, Un peu plus loin A présent nous allons importer des données provenant du flux : vous voulez utiliser ce fichier, il faut le modifier pour qu'il soit compatible avec l'outil d'import de mongodb.

Importer les données¶ A. Example: Classroom. Mongodb et triple store. Kelly-McCreary & Associates. Blog. By Valeri Karpov, Kernel Tools engineer at MongoDB and and co-founder of the Ascot Project. A few weeks ago, a friend of mine asked me for help with PostgreSQL. As someone who’s been blissfully SQL-­free for a year, I was quite curious to find out why he wasn’t just using MongoDB instead. It turns out that he thinks MongoDB is too difficult to use for a quick weekend hack, and this couldn’t be farther from the truth. I just finished my second 24 hour hackathon using Mongo and NodeJS (the FinTech Hackathon co­sponsored by 10gen) and can confidently say that there is no reason to use anything else for your next hackathon or REST API hack. First of all, there are huge advantages to using a uniform language throughout your stack. Another big reason to go with MongoDB is that you can use it in the same way you would a MySQL database (at least at a high level).

As a NoSQL database, MongoDB also allows us to define our schema entirely on the code side. Var User = db.model('users', UserSchema); Cours MongoDB semaine 2: CRUD | Le Torréfacteur Java. La seconde semaine est dédiée à l'apprentissage des opérations CRUD avec mongo. La terminologie MongoDB est la suivante: Create → insertRead → findUpdate → update (hé oui !) Delete → remove Dans l'univers relationnel, on utilise un langage particulier, SQL, pour ces opérations et ce quel que soit le langage utilisé pour le reste de l'application. Avec MongoDB, on reste dans le langage hôte et on utilise le driver approprié qui fournit les APIs nécessaires. Nous verrons dans un premier temps comment exécuter ces opérations de base dans un shell mongo, puis à l'aide du driver Java. CRUD dans un shell mongo Le shell mongo, comme nous l'avons vu précédemment, est un intérpréteur Javascript interactif.

Les documents sont stockés par MongoDB au format BSON. Premiers exemples d'insertions et de requêtes Lors du find(), on voit qu'un champ de nom _id et de type ObjectId (un des types de données BSON justement) a été inséré. Différents types de requêtes Utilisation d'opérateurs Requêtes et tableaux. Marccampbell/mongoose-admin. A NodeJS Perspective on What’s New in MongoDB 2.6, Part II: Aggregation $out | The Code Barbarian.

HowtoMongoDB -CONFIG DE MONGODB. Installation ¶ Version Debian : # aptitude install mongodb Mais il existe aussi des paquets Debian distribués par MongoDB. Pour cela on ajoutera la ligne suivante dans son fichier sources.list : deb dist 10gen Puis : # aptitude install mongodb-10gen Logrotate ¶ Les paquets fournis par 10gen n'ont pas (encore?) Voici un exemple de logrotate à mettre en place : /var/log/mongodb/*.log { weekly rotate 52 delaycompress compress notifempty sharedscripts create 640 root adm missingok postrotate /bin/kill -USR1 `cat /var/lib/mongodb/mongod.lock 2>/dev/null` 2> /dev/null|| true endscript } On peut également forcer la rotation en ligne de commande : Plus d'infos sur Configuration ¶ La configuration de MongoDB se trouve dans le fichier /etc/mongodb.conf : bind_ip = 127.0.0.1 port = 27017 auth = true #cpu = true #verbose = true Authentification ¶ noauth = true.

MongoDB – le shell mongo | AROMATIX. La commande mongo sert à manipuler MongoDB. C’est un shell s’appuyant sur un moteur javascript, et va donc nous permettre d’utiliser toutes les fonctions standard du javascript (hors fonctions graphiques) en plus des commande de base de donnée qui n’utilisent pas la syntaxe javascript ( use, show etc…) . il est possible d’utiliser ses porpres bibliothèques ( ce n’est pas négligeable quand on veut utiliser des frameworks ou server d’application basés sur javascript. je vous cite NodeJS pour l’exemple ) pour la suite de ce tuto, on suppose que MongoDB est installé sur votre système, le server mongod démarré, et les binaires mongo visibles dans le PATH ( voici un lien si MongoDB n’est pas installé ) Connection au serveur mongod: dans un terminal il suffit de taper mongo. par défaut mongo se connect à un serveur local (localhost) et sur le port par défaut (27017).

Choisir une base de donnée : quand on se connect à MongoDB, la base de donnée ‘test’ est séléctionnée par défaut. Did you like this? MongoDB : les bases pour bien débuter (1/3) | La Fabrique de code - Tech blog. Installation et bases de MongoDB - Syrinxoon Tuts. MongoDB est l'une des bases de données composant le mouvement NoSQL au même titre que qu'Apache CouchDB pour ne citer qu'elle. L'intérêt de ce genre de bases de données se ressent dans la manipulation de très grosses bases de données où le temps de réponse compte plus que l'intégrité des données. En effet, les bases NoSQL sont des SGBD et laissent ainsi tomber le R de relationnel au profit d'une plus grande simplicité, performance et montée en charge. Pour en apprendre plus au sujet des bases de données NoSQL et de leurs différences, je ne saurais que trop vous conseiller le livre Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement (lien sponsorisé) à paraître mi-Avril.

Le livre est anglais mais si ça ne vous dérange pas alors foncez, vous ne serez pas déçu. Ce tutoriel à pour but de vous faire découvrir MongoDB via la ligne de commande et via deux langages de programmation que sont PHP et Ruby. Allons y ! Installation sur Linux Si vous êtes en 32 bits : MongoDB tout en douceur | Le Geek Montagnard.

MongoDB est une base de données appartenant à la catégorie des bases NoSQL. Il existe suffisamment d’articles sur cette mouvance pour que je n’y revienne pas. MongoDB est orientée documents. Cela signifie qu’une clé donnée permet d’avoir accès à un document structuré, dont les données peuvent être stockées de manière hiérarchique (dans le cas de MongoDB, avec JSON). Il est possible de la requêter soit via un shell (avec des commandes en JavaScript) soit via un langage de programmation à travers un des multiples drivers mis à disposition par 10Gen, la société éditrice de la base (Java, Scala, Python, .Net, PHP, etc.). Lors de la rédaction de cet article, j’ai utilisé la version 2.4.5 de MongoDB.

Installation L’installation se fait très simplement : On commence par télécharger l’archive qui doit être décompressée sur le disque, dans le répertoire de votre choix. On choisit ensuite le répertoire de stockage des données. Enfin, on lance la base à l’aide de la commande « mongod ». Le shell. Nicolas C.