Tag: DB

Clickhouse multi master replication

EnglishSoftwareTutorials

File for reproductible environment :

Nothing is stored on the VM instances : see volumes configuration out of the docker-compose file.

Sharding and replica is straightforward and defined in these files :

  • ch_configs/config.d/remote_server.xml
  • ch-configs/macros_chX.xml (replace X with server’s instance number)

Starting clickhouse servers :

$ docker-compose up -d ch1 ch2 ch3 ch4

$ docker ps -a

To use it either use any client you prefer (Tabix, …) or connect with the client (already defined in docker-compose file):

$ docker-compose run –rm client –host ch1 –user quid –password quid

3d8fccb51750 🙂 SELECT * FROM system.clusters

Database and tables creation

CREATE DATABASE todos_cluster on cluster todos;

SHOW DATABASES;

show tables from todos_cluster

This database has been replicated on all the shards/replicas, no tables are yet existing

The name of the cluster can be found in this file : ch_configs/config.d/remote_server.xml with the tag <todos>

Local table

To create tables where content will only be replicated with its replica :

You can check on each server (ch1, ch2, ch3, ch4) if the tatble is created

Now let’s insert data

INSERT INTO todos_cluster.events_local VALUES(1, ‘2020-03-28 00:00:00’, 3, ‘Hit the road Jack’, ‘2020-04-15 00:00:00’);

select * from todos_cluster.events_local;

Distributed tables

To create tables where content will be replicated in all shards :

Use show tables on all instances to see it has been created.

Now we insert data inside this table

INSERT INTO todos_cluster.events_distributed VALUES(2, ‘2020-03-28 00:00:00’, 4, ‘Sweig – Le joueur d\’échec’, ‘2020-05-05 00:00:00’);

INSERT INTO todos_cluster.events_distributed VALUES(3, ‘2020-03-28 00:00:00’, 1, ‘Kitchen’, ‘2020-03-30 00:00:00’);

INSERT INTO todos_cluster.events_distributed VALUES(4, ‘2020-03-28 00:00:00’, 3, ‘Muse Hysteria’, ‘2020-04-25 00:00:00’);

select * from todos_cluster.events_distributed

Scala – Scalatra – Salat – MongoDB : test drive

CodeDevEnglishTutorials

Hello there, a little test with Scala (2.9.0-1) for the backend services, Scalatra for the REST part, Salat and MongoBB for the persistance layer. I will use sbt (0.10) for the project management and you should use IntelliJ Idea IDE (what else ? ).

What this test does ?

It exposes a REST API (and its documentation) in order to play with a user (login, email, password). This API is extremely simplified, so you understand easely the concepts.
The objective is to :
– add a user,
– get a user (with its id or login),
– delete a user
– have the API documentation online for each method
Keep reading

Scala – Scalatra – Salat – MongoDB : découverte

CodeDevFrançaisTutorials

Bonjour, un petit test avec Scala (2.9.0-1) pour la partie service, Scalatra concernant le front en REST, Salat et MongoBB pour la persistance des données. J’utiliserai sbt (0.10) pour la gestion du projet et IntelliJ Idea comme IDE (What else ?).

Qu’allons nous voir ici ?

Nous allons exposer une API REST (et sa documentation associée) afin de créer des utilisateurs (identifiant, courriel, mot de passe). Cette API est extrèmement simple afin de bien comprendre ce qui se passe.
L’objectif est donc de pouvoir :
– créer un utilisateur,
– trouver un utilisateur (avec son ID ou son identifiant),
– effacer un utilisateur
– visualiser la documentation de chaque API en ligne pour chacune des méthodes
Keep reading

CentOS 6 – Install Voldemort

FrançaisLinuxTutorials

Voldemort est une base de données NoSQL, un système de stockage distribué fonctionnant par clef/valeur… en très très gros c’est une hashmap (pour ceux qui viennent du monde Java).

Les URLs des différentes ressources :
http://project-voldemort.com/
https://github.com/voldemort/voldemort/downloads
https://github.com/voldemort/voldemort/wiki

Installation CentOS 6 Net install x86_64 en “Basic server”. Keep reading

CentOS 5.5 – Install PostgresSQL 9

FrançaisLinuxTutorials

Paramètres de configuration

Il s’agit ici de paramètres qu’il vous faudra adapter à vos besoins :
Admin postgres : admin / adminPassword
Répertoire de stockage des base de données : /home/postgres/data
Réseau local : 192.168.2.0

Pré-requis
CentOS 5.5 – Base install
CentOS 5.5 – Install réseau
CentOS 5.5 – Le firewall

Installation PostgresSQL 9

Commençons par installer 2 librairies qui Keep reading

Zi Youltimayte Torque gaïde !

DevFrançaisTutorials

1 Introduction

URL : http://db.apache.org/torque/ et http://db.apache.org/torque-32/
Licence : Apache Software License, Version 1.1

1.1 A quoi ça sert ?

Torque est juste un outils qui permet de générer pour toi des objets java avec tout le mécanisme qui te permettra d’accéder à une base de donnée, même principe qu’Hibernate donc.

1.2 Comment ça marche ?

Il se branche sur le pool de ton serveur d’appli (Tomcat, Weblogic, JBoss…) ou sinon il peut te fournir un pool à lui basé sur commons-dbcp package configurable avec le SharedPoolDataSourceFactory. Keep reading