Speicherung in der Cloud

derPeter29

Newbie
Registriert
Apr. 2019
Beiträge
7
Moin,

erst einmal hoffe ich das ich hier im richtigen Bereich bin :)

Ich muss im Moment für mein Studium etwas zum Thema Cloud schreiben und auch zur Datenspeicherung in der Cloud.

Dabei habe ich etwas noch nicht richtig verstanden und ich hoffe hier kann mit jemand helfen.

Soweit ich das gelesen habe gibt es 3 speicherarten in der Cloud, einmal den Objektspeicher, den Datei Speicher und den Blockspeicher.

Jetzt gibt es aber auch noch Storage Dienste wie z.B. Blobs, files, warteschlangen und tabellen

Wie ist der Zusammenhang dieser begriffe? Ich hoffe es gibt hier jemanden der mir das kurz erklären kann :)

Vielen Dank schonmal:daumen:
 
Das erste was du im Informatikstudium lernen solltest, ist die Verwendung von Suchmaschinen im Internet ;)

Dort findet man dann z.B. sowas: https://www.ontrack.com/de/blog/the...s-block-storage-vs-object-storage-part-1/7865

Und Blobs, Files, Queues und Tables sind keine "Dienste", sondern einfach nur unterschiedliche Formate/Techniken, um Daten abzulegen. Je nach Art der Daten und was man damit später vorhat, hat jede dieser Technologien unterschiedliche Vor- und Nachteile.

Wobei diese 4 genannten Begriffe auf jeweils komplett unterschiedlichen Ebenen anzutreffen sind. Mir wäre nicht bekannt, dass jemand jemals die Kombination aus diesen 4 Begriffen in einem Satz benutzt hätte :D
 
Und fang bitte an die Formulierung "die Cloud" nicht zu verwenden. Die gibt es nämlich nicht. Es gibt zahlreiche Clouddienste die alle unterschiedliche Zwecke habe und dafür unterschiedlichste Protokolle und Techniken nutzen.
 
Bei Blobs fällt mir nur Azure Blob Storage ein was ein Markenname für einen Objektspeicher ist. Files ist englisch und bedeutet Dateien. Diese kann man auf unterschiedlichen Speichermedien und -typen ablegen. Warteschlangen ist ein wunderbar schwammiger Begriff und ohne Kontext sinnfrei hier und Tabellen klingt nach Datenbanken.
Lerne zu googlen und lerne dies schnell sonst gehst du unter in der Informatik und dann solltest du lernen konkrete Fragen zu stellen.

Edit: Und weil ich gerade den Post von @Masamune2 sehe: Bis du klar definierst von welchem Typ Cloud du sprichst: Ersetze "die Cloud" in deinem Sprachgebrauch einfach durch "Hosting".
 
Danke schonmal.
Tatsächlich hatte ich mir die Seite schon durchgelesen und der Unterschied zwischen Objekt, Datei und Block Speicher ist auch nicht das Problem. Mehr die Verbindung zwischen diesen 3speicherarten und den blob, File, Queues und Tables.

Kann man sich das so vorstellen, dass mit blob, File, Queues und tables man Daten entweder auf einem Objekt, Block oder dateispeicher speichern kann?

Und ja ich habe schon viel gegoogelt aber es bisher einfach nicht verstanden und daher Frage ich nun hier nach. Nur weil man was in einem Forum nachfragt heißt es ja nicht das man nicht vorher versucht hat es herauszufinden :)
 
Na gut... ich versuch's mal :D

Blob = Ein Haufen Binärcode. (Es kann auch Text als Blob gespeichert und wieder ausgelesen werden. Der Punkt bei Blob ist einfach, dass man sagt "es ist ein Haufen Daten. irgendwelche Daten. sie sind nicht durchsuchbar") Wird meist benutzt für Bilder, Musik, etc.

File = Datei. So wie du sie unter Windows / Linux / macOS im Dateiexplorer siehst. Eine Datei hat einen Namen. In der Datei ist dann aber im Prinzip auch wieder ein Blob. Soll heißen: Du kannst in einer Datei beliebige Daten ablegen.

Queue = Warteschlange. Also einfach eine geordnete Liste von Datensätzen. Die Ordnung der Datensätze wird durch den Zeitpunkt des Hinzufügens zur Warteschlange bestimmt. Also quasi eine Todo Liste, die in genau der Reihenfolge abgearbeitet wird, wie die Todos dort angelegt wurden. In einer Warteschlange können im Prinzip auch sämtliche Datensätze als Blobs abgelegt werden, wenn die Warteschlange z.B. für Konvertieren von Bildern genutzt wird. Irgendwo ist ein Programm, das Thumbnails für Bilder erstellt und wenn es fertig ist, holt es sich wieder neue Bilder aus der Warteschlange. Es können aber auch strukturierte textbasierte Formate in Warteschlangen benutzt, um z.B. den Dateinamen des Bildes und die URL zum Bild und die URL für das Thumbnail zu übermitteln. (Das mit den Bildern ist natürlich nur ein Beispiel. Man kann mit einer Warteschlange z.B. auch personalisierte E-Mail Verteiler realisieren).

Table = Tabelle. Quasi ein Excel Dokument. Wird aber auch in relationalen Datenbanken verwendet. Dort hat man dann quasi einen ganzen Haufen Excel Dokumente, die dann sogar über's Netzwerk von mehreren Programmen gleichzeitig ausgelesen und bearbeitet werden können. Datenbank Tabellen sind üblicherweise so strukturiert, dass jede Spalte ein festgelegtes Format hat. Z.B. Spalte 1 enthält Zahlen, Spalte 2 enthält Datumsangaben, Spalte 3 enthält Blobs. Und dann kannst du mit einer Datenbank Tabelle im Grunde dasselbe wie in Excel machen: Sortieren, Filtern, Gruppieren, Berechnungen, etc.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: derPeter29 und snaxilian
Vielen Dank :) mein Problem ist nur das ich den zusammenhaben zwischen (blob Files queues und Tables) und (Objekt, Datei und Block Speicher) nicht verstehe. Also zum Beispiel ist der Azure blob storage ein Objektspeicher. Wie ist da der Zusammenhang zwischen blob Speicher und Objektspeicher?
 
"Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that does not adhere to a particular data model or definition, such as text or binary data." (Quelle: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview )

Wie du schon sagtest: Azure Blob IST ein Objektspeicher. Der Zusammenhang ist also, dass es ein und dasselbe ist :D

Oder meintest du Block Storage?
 
Also ist der von dir oben erklärte blob (Haufen binärdaten, bzw wie von dir am Anfang erklärt ist blob ja eine Technik zum ablegen von Daten) das selbe wie ein Objektspeicher?
 
Microsoft selbst schreibt dazu:
"Blobspeicher ist für Folgendes konzipiert:
  • Speichern von Bildern oder Dokumenten direkt für einen Browser
  • Speichern von Dateien für verteilten Zugriff
  • Video- und Audio-Streaming
  • Schreiben in Protokolldateien
  • Speichern von Daten für Sicherung und Wiederherstellung, Notfallwiederherstellung und Archivierung
  • Speichern von Daten für Analysen durch einen lokalen oder von Azure gehosteten Dienst"
(quelle: https://docs.microsoft.com/de-de/azure/storage/blobs/storage-blobs-introduction )

Heißt: Du legst dort einfach irgendwelche unstrukturierten Daten bzw. Binärdaten ab - also Blobs.

Wenn man es jetzt noch etwas genauer formulieren will, dann vielleicht so: Ein Blob ist eine Datei. Ein Objektspeicher ist eine ganze Datenbank voller Blobs.
 
  • Gefällt mir
Reaktionen: derPeter29
OK also speichere ich ein Bild in einem blob in einem Objektspeicher? Kann man im Objektspeicher auch Files, Queues und Tables ablegen und die 4 auch in Datei und Blockspeichern ablegen? Oder gibt es da "feste" Zuordnungen?
 
Ja, genau. Du speicherst ein Bild (was ja im Grunde nur ein Haufen Binärdaten ist) als Blob im Objektspeicher. Du kannst da im Prinzip natürlich auch Queues und Tables ablegen. Aber das ist im Normalfall nicht sinnvoll.

Queues und Tables benutzt man ja gerade, weil man damit bestimmte Aufgaben lösen will. Also entweder das Abarbeiten von Aufgaben in der Warteschlange, bzw. das Auswerten / Sortieren / Filtern von Daten in der Tabelle.

Stell dir einfach vor, du würdest im Objektspeicher einen Screenshot deiner Excel Tabelle oder deiner Todo Liste speichern. Funktioniert natürlich und du kannst die Daten auch wieder abrufen. Aber: Du kannst mit den Daten nicht arbeiten während sie im Objektspeicher liegen.
Soll heißen: Man legt im Objektspeicher eigentlich nur Daten ab, mit denen man eh nicht wirklich arbeiten kann. Also werden dort vornehmlich Dateien abgelegt, egal ob Bilder, Videos, Worddokumente, Savegames, oder sonst was. Das sind alles Daten, mit denen man überlicherweise nur 2 Dinge tut: Im Objektspeicher ablegen und wieder abrufen. Aber eben nicht wie z.B. in einer Todo Liste etwas abarbeiten.
 
Das eine sind Speicherformen für Daten -> Blob, File, Table
Das andere sind Speicherarten zur persistenten Ablage der Daten -> Object Storage, File/Datei Speicher

Und das dritte sind Marketing-Bezeichnungen, die vermitteln sollen, dass es ganz tolle besondere Vorteile hat, wenn man eine der Speicherarten wählt.

Je nach Speicherform und Verwendung der Daten macht die eine oder die andere Speicherart Sinn.
BigData zur "predictive maintenance"-Analyse hat andere Speicheranforderungen als eine Produktbild-Datenbank für den nächsten Ot*o-Katalog.
 
  • Gefällt mir
Reaktionen: derPeter29
OK danke! Letzte Frage :D
Also kann man aich queues, Tables und blobs auch im Datei und Block Speicher ablegen?

Also wenn ich was zur Speicherung in einer Cloud schreibe muss ich unteranderem die Speicherformen und auch die Speicherarten erklären?
 
Ich bin kein Storage-Experte.
Ob das "technisch" möglich ist? -> wahrscheinlich schon.
Ob das "sinnvoll" ist -> fraglich.

Kleines Beispiel:
"Table" ist in einer (rationalen) Datenbank die Art und Weise wie Informationen abgelegt werden.
"Tabelle Adresse" enthält also z. B. PLZ, Ort, Strasse, HausNr.
Die gesamte Datenbank wiederum kann z.B. als eine oder mehrere Datei(en) im Filesystem abgelegt werden.

Ich würde vorschlagen, dass du die Infos aus dem Forum als Ansätze für weitere Recherchen nutzt.
AWS, Azure, Google u.a. haben bestimmt auf ihren Seiten Erklärbär-Seiten, die das im Detail erklären.
 
  • Gefällt mir
Reaktionen: derPeter29
Die "Cloud" hat damit eigentlich überhaupt nix zu tun. Das sind einfach nur fertig vorkonfigurierte Datenbanken. Die eine Datenbank ist auf das Speichern von Blobs optimiert. Die andere auf das Speichern von tabellarischen Daten. Und eine Queue ist im Endeffekt auch nur eine Datenbank.

Die Datenbank legt dabei fest, wie diese Daten gespeichert werden. Das hat starken Einfluss darauf, was man später mit den Daten machen kann.

Bei Blobs hast du die einfachste Form. Die Datenbank unterstützt im Prinzip nur "saveData($data)" und "getData($id)".
Bei der Queue ist es ähnlich simpel: Es gibt "pushData($data)" und "pullData()".
Bei Tables ist es dann deutlich komplexer. Dort musst du genau festlegen welcher Datensatz in welcher Spalte gespeichert werden soll, z.B. "saveData(1337, 'ein text' 0xbinärcode)". Tabellen unterstützen meist auch das bearbeiten / updaten von Datenbankeinträgen. Und die Daten können beim Abrufen von der Datenbank sortiert / gefiltert / aggregiert werden.

Und nun die Frage: Warum speichert man dann nicht gleich alles in Tabellen? Und die Antwort ist schlicht und ergreifend: Performance. Tabellen skalieren nicht so einfach, und durch die vielen Möglichkeiten, ist die Infrastruktur dahinter viel komplexer und es ist deutlich mehr Rechenarbeit nötig.
 
  • Gefällt mir
Reaktionen: derPeter29
OK vielen Dank! :)

Das hat mir wirklich sehr geholfen. Habe bei meiner Internet Recherche leider immer nur einzelne Erklärungen gefunden habe nichts mit dem Zusammenhang des ganzen
 
Zurück
Oben