Wir haben diese Woche im Büro eine gesunde Debatte. Wir erstellen eine Db, um Proxy-Informationen zu speichern. Für den größten Teil haben wir das Schema bereits ausgearbeitet, außer wie wir IPs speichern sollen. Ein Lager möchte 4 smallints verwenden, eines für jedes Oktett, und das andere möchte einen großen Int, INET_ATON, verwenden.
Diese Tabellen werden riesig sein, also ist Leistung entscheidend. Ich stehe hier in der Mitte, da ich normalerweise MS SQL und 4 small ints in meiner Welt verwende. Ich habe nicht genug Erfahrung mit dieser Art von Volumen zur Speicherung von IPs.
Wir werden Perl- und Python-Skripte verwenden, um auf die Datenbank zuzugreifen und die Daten in mehrere andere Tabellen für Top-Talker, interessanten Traffic usw. weiter zu normalisieren.
Ich bin mir sicher, dass es hier in der Community einige gibt, die etwas Ähnliches gemacht haben, wie wir es tun, und ich interessiere mich dafür, von ihren Erfahrungen zu hören und welcher Weg am besten ist, ein großer Int oder 4 small ints für IP-Adressen.
BEARBEITEN - Eine unserer Bedenken ist der Speicherplatz, diese Datenbank wird riesig sein, wie in 500.000.000 Datensätzen pro Tag. Wir versuchen also, das Platzproblem zusammen mit dem Leistungsproblem abzuwägen.
BEARBEITEN 2 Ein Teil des Gesprächs hat sich auf das Datenvolumen verlagert, das wir speichern werden...das ist nicht meine Frage. Die Frage ist, welche Methode bevorzugt wird, um eine IP-Adresse zu speichern, und warum. Wie ich in meinen Kommentaren gesagt habe, arbeiten wir für ein großes Fortune-50-Unternehmen. Unsere Protokolldateien enthalten Nutzungsdaten unserer Benutzer. Diese Daten werden wiederum in einem Sicherheitskontext verwendet, um einige Metriken zu erstellen und mehrere Sicherheitstools zu unterstützen.