Je suis un débutant complet dans la base de données/application de PC s'il vous plaît pardonnez mon ignorance. Je souhaite capturer des paquets dans une base de données en temps réel afin que plusieurs applications aient la possibilité de surveiller les données d'E/S physiques renvoyées via des paquets udp d'un automate et j'ai quelques questions à poser.Capture de paquet vers la base de données?
À long terme, il faudra que ce soit multi-plateforme, mais pour le moment j'utilise une bibliothèque de capture de paquets C# sous Windows. Des suggestions sur le type de base de données MySQL vs SQlite? À ~ 1500 paquets de 200 octets par seconde, est-il faisable d'insérer un paquet 1500 fois par seconde? J'ai lu que SQlite a quelques problèmes avec la concurence, si j'ai une application qui interroge les paquets de données dans la base de données ~ 10 fois par seconde sur un délai de 25-50 ms -est-ce faisable?
Je pense que "seulement" besoin de stocker 20 Mo ou plus de données dans le DB à un moment donné. La base de données peut-elle être forcée à fonctionner en mémoire seulement? Lors de l'écriture des données par paquets, le paquet de données (tableau d'octets) peut-il être écrit dans une instruction plutôt que d'insérer itérativement chaque octet/mot? Je suppose que je pourrais le transformer en une chaîne mais je pense que cela rendrait presque impossible d'interroger avec n'importe quelle vitesse. Je ne vois aucune mention de quelque chose comme un "type tableau d'octets" dans l'une des bases de données que j'ai brièvement examinées. FWIW Toutes les données arrivent à une carte réseau dédiée sur une adresse IP statique. Les paquets sont séquentiels (je sais que ce n'est pas garanti avec UDP mais je n'en ai jamais vu en panne). Je pouvais facilement parcourir les données si la base de données supportait un type de tableau. -C'est bien, pas de recherches aléatoires?
Merci d'avoir pris le temps de lire ceci.
Bob
Matthew, Encore une fois, j'avais tapé une longue réponse et je vous remercie, mais il semble avoir disparu maintenant ?. Les applications seront exécutées sur la même machine que la base de données. Merci pour l'aide. – rackmount
Dans ce cas, cela dépend probablement du fait que vous décidiez d'utiliser la route en mémoire.Si vous utilisez sur-disque, SQLite sera probablement plus simple, en mémoire puis MySQL. –