Quelle API est la plus rapide dans un contexte distant.

已查看 42 次
跳至第一个未读帖子

Jérôme Baton

未读,
2014年3月6日 04:35:332014/3/6
收件人 neo...@googlegroups.com
Bonjour,

Je me demande quel est le meilleur moyen pour communiquer avec le serveur en Java.

J'ai vu que la remote api n'est plus à utiliser. 
J'utilise donc un wrapper java autour de la REST API   https://github.com/neo4j/java-rest-binding

Il est vrai que j'abuse un peu du truc en voulant insérer 4M de personnes :) avec environ 70 propriétés chacun et que je relie à un autre noeud (que je dois chercher à chaque fois, avec même API)
mais voila c'est en local, avec mon chargeur de CSV perso qui tourne depuis ...hum... longtemps.

Donc, dans un contexte d'autohébergement avec les serveurs www séparés du/des serveurs Neo, quelle est le moyen recommandé pour l'accès au serveur ?

Même question dans un contexte d'hébergement cloud.

Merci




Philippe Baumard

未读,
2014年3月6日 15:56:122014/3/6
收件人
 
Je me suis posé la question à début embedded ou REST API.
Une réponse est sans équivoque celle de la rapidité. Une base imbriquée dans le code est très nettement plus rapide à condition d'utiliser les appels API de base. Si on utilise le langage Cypher cela devient beaucoup plus long.

J'ai pris la solution embedded avec les API.

Mais que faire en cas de succés.
Faut il prévoir cette éventiualité dès le début? Pour ma part non. Je préfère voir et agir en conséquence.

Mais si je devais multiplier les serveurs avec une base centralisée accéssible par REST API je pense que je perdrais de plus en plus en performances.
A l'avenir si celà se produit je dupliquerais la base néo4j, ou je la localiserais en fonction de critères géographiques connaissant le langage de mes utilisateurs.

En fait on pense à une base de données. Mais quant on est au pieds du mur on voit qu'il y à deux bases:
- 1 pour les utilisateurs.
- 1 pour le métier.

A la limite le métier peut être centalisé, mais pour des raisons de performances il faut délocaliser dans d'autres bases les utilisateurs.

Donnez votre avis ce serait interessant. Car moi aussi je me pose cette question au cas où...

Jérôme Baton

未读,
2014年3月7日 06:17:062014/3/7
收件人 neo...@googlegroups.com
Je constate aussi qu'après l'apprentissage en ligne, cela se corse puisque aux questions  "comment déployer ?" et "quelle API ?" , c'est plus flou.
Il faut creuser dans le groupe anglophone pour savoir que SpringDataNeo n'est pas production ready fin 2013.

Je pense à Neo dans deux cas, dont un où sans parler de succès, il y a déjà beaucoup d'inscrits donc de charge dès le départ (si cela sort du cadre du POC mais c'est un autre débat).

J'ai mis de côté le mode "Embedded" parce que je n'imagine pas une architecture sans séparer les frontaux web et les bases.
Réflexe d'autres systèmes, certainement.
Mais avec 4M de personnes, je n'y croyais pas.

A moins que qu'il soit possible d'utiliser une base java de type embedded  avec un serveur distant. Pas encore testé cette approche.

Je viens de télécharger la version 'personnal' qui permet le clustering et possède un cache haute performance. 
A voir ...


Dans mon cas, les utilisateurs sont fortement reliés aux données donc conceptuellement, c'est une seule base.
La partie authentification, peut amener à dupliquer les utilisateurs du fait de contrainte technique (ou de l'existant).
Encore que, si je pense à Spring Security, il doit être possible d'utiliser le driver Jdbc de Neo.

Quel que soit votre site, visez le succès.
Si vous n'y croyez pas, changez de projet.
AMHA

Cordialement

JB
回复全部
回复作者
转发
0 个新帖子