Cassandra – Java – Exemple d’importation de données à partir d’un fichier plat

Cassandra est un noyau de bases de données dédié Big Data fait pour stocker de grandes quantités de données aux fins d’analyse. Comme toutes bases de données analytiques, l’une des étapes essentielles est le chargement massif de données bien souvent en provenance de sources hétérogènes de données (bases de données des opérations courantes, mainframe, …). Continue reading ‘Cassandra – Java – Exemple d’importation de données à partir d’un fichier plat’

Java – Cassandra – Requêtes sur un cluster

Java permet d’adresser le cluster Cassandra avec toutes ses possibilités de load balancing à condition de disposer des bonnes librairies.

Plusieurs librairies Java sont nécessaires afin de pouvoir bénéficier de l’architecture cluster de Cassandra :

  1. JDBC Cassandra
  2. SLF4J
  3. Netty

Continue reading ‘Java – Cassandra – Requêtes sur un cluster’

HAProxy – Configuration d’un load balancer pour un cluster Cassandra

En utilisation d’un langage tel que Java et avec les drivers corrects, la répartition de charge est gérée au niveau du driver Java. L’article qui suit est destiné à des connexions qui ne prendraient pas en charge de load balancing.

Tout l’intérêt d’un cluster est de ne pas en voir l’architecture, ni le nombre de machines physiques le constituant, ni d’avoir besoin de savoir chez qui on se connecte dans le cluster.

Un autre intérêt du cluster est de pouvoir répartir les connexions clientes de façon équitable afin que tous les serveurs aient une charge équilibrée.

Le rôle d’un équilibreur de charge (load balancer) est justement celui-ci et doit permettre cette équité dans la charge répartie sur l’ensemble des membres du cluster.

HAProxy est un load balancer permettant l’équilibrage de charge sur à peu près n’importe quel protocole. Dans le cas qui nous intéresse, nous voulons qu’il répartisse les demandes de connexion au port 9042 vers l’un des membres du cluster Cassandra que nous avons créé. Continue reading ‘HAProxy – Configuration d’un load balancer pour un cluster Cassandra’

Cassandra – Sécurisation de base du cluster

De base, Cassandra est configuré en laissant l’accès ouvert sans sécurité en tant que super-utilisateur cassandra.

Il est donc nécessaire de sécuriser le système une fois toute la configuration réalisée, que ce soit un Cassandra local ou un Cassandra cluster. Continue reading ‘Cassandra – Sécurisation de base du cluster’

Cassandra – Configurer un cluster à 5 nœuds et stockage SAN

Dans cet article sera discutée la création d’un cluster Cassandra complet. La répartition de charge (load-balancing) permettant la connexion indifféremment à n’importe quel nœud de cluster, ainsi que la haute-disponibilité (high-availibility) seront abordés dans un article ultérieur.

Il est considéré que les bases de manipulation d’un shell comme bash ou ksh sont acquises, ainsi que les bases de fonctionnement du système d’exploitation Linux (UNIX-like). Continue reading ‘Cassandra – Configurer un cluster à 5 nœuds et stockage SAN’

Linux – Connecter un serveur à un SAN (iSCSI)

Dans cet article sont décrites les étapes nécessaires à la configuration d’un stockage SAN utilisant le protocole de communication iSCSI avec un serveur Linux. Continue reading ‘Linux – Connecter un serveur à un SAN (iSCSI)’

Oracle – Flashback database

Oracle propose une fonctionnalité permettant de créer des points de sauvegarde rapides. Cette option est un complément des sauvegardes à chaud par RMAN et optimise des sauvegardes intermédiaires permettant un retour rapide à une situation connue.

Le mécanisme se fonde sur la Flash Recovery Area d’Oracle.

L’une des utilisations possibles d’une telle fonctionnalité est de permettre par exemple de stocker des points intermédiaires de chargement d’une base de données et permettre un retour à n’importe lequel de ces points pour pouvoir rejouer les étapes suivantes de chargement sans avoir à rejouer intégralement un chargement. Continue reading ‘Oracle – Flashback database’

PostgreSQL – Query, View, Materialized View, Execute Plans

Il existe plusieurs manières d’accéder aux données d’une base de données. Je vais évoquer ici les principales méthodes d’accès possibles avec PostgreSQL : les requêtes directes sur les tables, les requêtes sur des vues, les requêtes sur des vues matérialisées. Continue reading ‘PostgreSQL – Query, View, Materialized View, Execute Plans’

PostgreSQL – Déplacer un tablespace ou un groupe de tablespaces

Il peut être nécessaire pour diverses raisons, de déplacer des tablespaces d’un répertoire vers un autre.

Un tablespace PostgreSQL est un répertoire.

PostgreSQL dans le cadre d’un upgrade de version, nécessite de connaître l’ancien répertoire de données et le nouveau répertoire de données. Cela implique donc que tous les tablespaces soient sous l’arborescence principale du serveur.

Continue reading ‘PostgreSQL – Déplacer un tablespace ou un groupe de tablespaces’

Linux – LVM, création d’un VG et d’un LV

Utiliser LVM pour la gestion de l’espace de stockage filesystems amène une souplesse dans la gestion de ceux-ci.

Il est nécessaire de disposer d’un espace disponible soit sous forme d’un device complet, soit sous forme d’une partition d’un device.

Continue reading ‘Linux – LVM, création d’un VG et d’un LV’