so ein schnelles Update auf, warum ich diese Frage erstellt habe.DocumentDB - Telemetrie Daten speichern
Derzeit speichern wir unsere Telemetriedaten unserer Geräte im Feld innerhalb von Azure SQL Server. Das funktioniert gut (habe eine Menge Erfahrung mit EF, LINQ und Beziehungs-DBs). ABER ich bin mir bewusst, dass dies wahrscheinlich nicht die beste Lösung ist, um "große" Daten zu speichern (die Daten sind noch klein, werden aber innerhalb eines Jahres wachsen)).
Ich habe DocumentDB als unsere mögliche Lösung ausgewählt, um nur unsere Ereignishistorie zu speichern. Der Rest wird in SQL bleiben - Benutzer, Profile, Geräteinfo, Sim, Vehicle usw., da ich die Entwicklung nicht komplett anhalten will, da wir 100% auf docdb umstellen und einfach nur das beste kurzfristige - Kosten + Leistung machen.
dieses Video Wenn man durch kam ich endlich mit einer möglichen Lösung auf, wie Telemetriedaten zu speichern - https://www.youtube.com/watch?v=-o_VGpJP-Q0 Sie empfahlen Einen Eintrag pro Zeitperiode (zB 1 pro Stunde verwendet wird). Ist das der empfohlene Ansatz noch?
[Index]
public DateTime TimestampUtc { get; set; }
public DateTime ReceivedTimestampUtc { get; set; }
[Index]
public EventType EventType { get; set; }
public Guid ConnectionId { get; set; }
public string RawEventMessage { get; set; }
[Index]
public Sender Sender { get; set; }
[Index]
public Channel Channel { get; set; }
public DbGeography Location { get; set; }
public double? Speed { get; set; }
public double? Altitude { get; set; }
public Int16? Heading { get; set; }
public Byte? HDOP { get; set; }
public Byte? GPSFixStatus { get; set; }
public Byte? GPSFixType { get; set; }
public string Serial { get; set; }
public string HardwareVersion { get; set; }
public string FirmwareVersion { get; set; }
public string Relay1 { get; set; }
public string Relay2 { get; set; }
public string Relay3 { get; set; }
public string Ign { get; set; }
public string Doors { get; set; }
public string Input1 { get; set; }
public string Input2 { get; set; }
public string Out1 { get; set; }
public string Out2 { get; set; }
public int V12 { get; set; }
public int VBat { get; set; }
* Haftungsausschluss - Ich bin einer der Mitautoren des // Build-Videos, auf das Sie verwiesen haben * - Es gibt wirklich keinen "empfohlenen" Ansatz zum Speichern von Telemetriedaten. Was wir zur Speicherung von Telemetriedaten gezeigt haben, war ein spezifischer Modellierungsfall, basierend auf einigen realen Lösungen, die wir behandelt haben, spezifisch für eine Dokumentendatenbank wie DocumentDB (die für Ihren speziellen Fall funktioniert oder nicht). Es gibt andere Möglichkeiten zum Modellieren und sogar verschiedene Datenbank-Engine-Typen. –
Hey Dave, danke für die Antwort :) Yeah war heute brainstorming und stieß auf dieses gute Video und es gab mir eine andere Möglichkeit. Alles funktioniert gut in SQL nur für langfristige – David
Freut mich, es hat Ihnen gefallen - danke. :) Und wenn es dir ein paar neue Dinge zum Nachdenken gab, dann halte ich es für einen Erfolg. –