jinroh / kadoh

The Kademlia DHT in Javascript for Node.js and Browsers
http://jinroh.github.com/kadoh
Other
242 stars 31 forks source link

Centralyzed logging server/DB #50

Closed alexstrat closed 12 years ago

alexstrat commented 12 years ago

Create a REST server that receives the logging data of runnings instances (bots and non-bots) and store them in a SQL DB. There are then possibilities to gather interesting stistics information.

TODO

alexstrat commented 12 years ago

Est ce qu'on a vraiment besoin d une base de donnee relationnelle ?

jinroh commented 12 years ago

Je lis tout et son contraire sur les Document Oriented Database. Ca pourrait être pratique chez nous, ou pas.. je sais pas, je sais plus.

http://stackoverflow.com/questions/2866086/are-document-oriented-databases-meant-to-replace-relational-databases http://stackoverflow.com/questions/4540120/is-mongodb-object-oriented

Ca pourrait être bien, mais est-ce que ça va pas nous demander du boulot en plus pour....pas grand chose ?

alexstrat commented 12 years ago

Question : pourrait on stocker des Integer de 128 bits (pour les node_id) dans une column SQLite ? Ça pourrait être interessant pour faire directement des comparaisons d'ID directement en SQL..

Sinon, autre methode ? 2 integers de 8 bytes ou un String hexadecimal.

alexstrat commented 12 years ago

Du coup, drafted schema d'un Store rpc log :

id  |  target_node  |   key   |  republish  |   time   |  resolved  | created_at
Int |    String     | String  |   Boolean   |    Int   |   Boolean  |    Date

Simple. A comlpleter si idées.

jinroh commented 12 years ago

Pour les node_id c'est du 160bits (SHA1) et il n'y a pas de support pour des Integer de cette taille en SQL. En plus Javascript non plus ne supporte pas des entier de plus de 64bits (ou 128 je sais plus). La manière la plus simple c'est de les stocker dans un VARCHAR(160) et ensuite on peut très simplement les transformer en 160bits integer en Python ou Ruby quand on traîte les données

alexstrat commented 12 years ago

Done : (?)

https://github.com/square/cube

alexstrat commented 12 years ago

Count the number of connected node using Cube :

sum(distinct(hearthbeat(node_id))(1))