Question de creation d'ID

Bof, murmur c’est un int32/64, 4 a 8 bytes donc.
La solution de rabban, c’est 11.

Apres, sinon, je suis pas DBA donc je vais ptet dire une connerie, mais

C’est pas le principe des index de premacher ce genre de chose ? Ou sinon de faire des foreign key et des jointures et tout, plutot que de generer tout les cas possibles pour en extract un truc apres. Apres, c’est ptet juste du sql/nosql qu’il faut reviser tout betement.

Je croyais que la base etait en local ? Il viens faire quoi l’hebergement la ? Juste hoster un fichier sqlite ?

Je vois pas super bien ce que t’essayes de faire, mais t’es en train de reinventer la roue, l’essieu et le cheval, alors que tu donnes l’impression de vouloir faire une brouette.

la db est inclus en javascript dans la page de base.

par contre je vais regarder mumur et si y’a ca en javascript :slight_smile:

merci

Le probleme de ta solution c’est que TOUT les hash font 8
alors que la solution de rabban permet d’avoir de petit id quand les combos sont petites.

Avec la solution de rabban j’arrive a 20.5 megas environ dans le cas le plus extreme.

Avec la tienne j’arrive a 40 megas.

La solution de rabban me genere des petits ids quand les combos sont petites.

La tienne me genre tout le temps 8 bit

le but est d’inclure la db en javascript dans la premiere page.

(Apres je me tate a générer pleins de pages html et a faire un lien pour chaque recherche aussi).

Par contre la taille dépend de la position de la catégorie. Du coup tu peux optimiser en mettant les moins utilisées sur les sur les valeurs les plus fortes.

Et en fonction du nombre moyen de catégories par vidéo, la concaténation peut valoir le coup: en utilisant chiffres + lettres tu as 36 caractères, même pas besoin de séparateur.

1 « J'aime »

Le probleme c’est que j’ai 89 categories , mais du coup merci de l’id de mettre les categories les moins utilisées dans les combos sur les valeurs les plus forts et d’optimiser en fonction :slight_smile:

je vais test pour voir a combien je descend

@AnA-l en tout cas merci je ne connaissais pas murmur

Et ta base de données ne supporte pas les tableaux de scalaires?

Edit: de toute façon, vu les hypothèses de base, c’est clairement de l’optimisation à outrance…

1 « J'aime »

Tu vas faire download 20+ MB de database aux browser a chaque connexion?

1 « J'aime »

En fait c’est quoi ton problème? Tu veux diminuer la taille de la base de données pour faciliter le download? Si c’est ca, tu es au courant qu’en HTTP, tu la balance en GZIP ou en Deflate et tout optimisation de la DB elle même sera nullifiée par le fait de que toute façon ca sera envoyé compressé?

1 « J'aime »

C’est le cas le plus extreme …

Je veux que la taille de la db soit la plus petite possible pour pouvoir faire en sorte qu’elle soit lincluse dans la page web.

2 « J'aime »

Alors attache toi au canal de communication plutôt qu’essayer d’encoder la base de données.

Sinon, inclure une base de données dans une page web, c’est vraiment pas une bonne idée. T’es sur que tu veux pas plutôt faire du chargement sur demande avec une gestion de cache agressive?

Haaaa, on y vient. J’ai cru qu’on etait pas sur geekzone, personne ne lui avait encore proposé de faire completement differement :stuck_out_tongue:

Le truc c’est que ca va etre dans un bucket amazon pour limiter les couts donc des pages webs statiques …
Mais apres je me plante peut etre (surement) mais ce genre d’optimisation m’interesse quand meme :slight_smile:
En gros tout le site doit etre dans un bucket amazon pour des raisons de couts (la pub rapportant que dalle).

Du coup pour soit je met la db dans le site, soit je genere une page statique par entrée de la db …

@perecil apres si la gestion de cache agressive peut se faire en mode statique dans un bucket je suis preneur de doc …

Bah “une page statique par entree de db”, ou “balancer la DB en JS chez le client”, la reponse c’est:
Ca depend.

Autant j’aime pas faire comme @AnA-l le remarque, et te dire de tout refaire differement, mais il faut quand meme admettre que tu cherches une otpimisation sur un truc qui parait completement con de prime abord. Et comme tu ne files aucune information sur le contexte et peu sur les contraintes, faire un choix est tendu.

  • on part sur quel nombre d’items dans la DB?
  • a quelle vitesse cette db va grossir?
  • est ce que cette meme db va etre modifiee souvent?

Balancer un download de 20MB pour pouvoir faire une recherche pour acceder a une page web, ca me parait completement fou

Pour reference, je viens d’ouvrir ma home twitter, et j’ai pour moins de 7MB de download sur un force refresh/clear cache. Moins de 9MB sur la home de Amazon.co.uk, et c’est blinde d’images. Et je suis sur la grosse connexion du boulot. J’ose pas imaginer ce que ton site ferait sur un mobile.

Nan mais le but c’est de tenir dans un bucket amazon a 1€ par an. Alors qu’avec une homepage free, un pour de php qui tape dans une DB en sqlite, il aurait la meme pour le meme cout et sans faire des trucs alambiqués. Mais si la contrainte du bucket amazon est importante, ben soit.

Tu peux me dire comment on fait pour créer une homepage free quand on est pas chez free ?

Ca m’interesse du coup.

Merci

au lieu de tomber dans le sarcasme, on a toujours zero info sur ton contexte et tes contraintes (a part “ouais la pub ca paye rien”) qui font que tu vas sur du Amazon S3 comme solution. On n’a pas d’idee de ce que tu fais derriere, comment tu le mets en place, ou quoi; la seule info que tu nous donne c’est “je veux generer un id tres petit pour reduire la taille d’une db qui sera embed en JS et download par le client pour pouvoir acceder a des pages web”

Encore une fois, je le repete, la conclusion n’a pas de sens sans le contexte, et notre capacite a pouvoir t’aider est limitee.

C’etait pas du sarcasme j’etais serieux :confused:

La solution free de @AnA-l semblait moins cher que ce que j’avais en tete …

je suis ouvert a toute proposition …