DataSunrise erreicht AWS DevOps Kompetenz Status in AWS DevSecOps und Überwachung, Protokollierung, Performance

Redshift und Athena

Redshift und Athena

Redshift und Athena

Einführung

Unternehmen nutzen in der datengetriebenen Welt von heute zunehmend Cloud-Dienste, um ihre Daten zu speichern, zu bearbeiten und zu analysieren. Cloud-Dienste bieten eine bequeme und sichere Möglichkeit für Unternehmen, große Mengen an Informationen zu verwalten. Sie verlassen sich auf Cloud-Dienste, um Daten zu speichern, an Projekten zusammenzuarbeiten und Einblicke aus ihrer Datenanalyse zu gewinnen. Dieser Trend spiegelt die zunehmende Bedeutung von Daten in der Geschäftswelt wider. Zwei beliebte Dienste, die von Amazon Web Services (AWS) angeboten werden, sind Amazon Redshift und Athena. Beide Tools eignen sich gut für die Arbeit mit Daten in der Cloud. Jedoch haben sie unterschiedliche Methoden und Zwecke.

In diesem Artikel werden Redshift und Athena verglichen und untersucht, wie sie Daten in der Cloud speichern, den Zugriff verwalten und die Nutzung nachverfolgen. Wir werden die Hauptunterschiede zwischen den beiden Diensten untersuchen. Der Vergleich wird ihre Ansätze zur Datenspeicherung, Zugriffskontrolle und Nutzungsauditing hervorheben. Bei der Wahl eines Tools für Ihre Datenanforderungen ist es wichtig, informierte Entscheidungen zu treffen.

Das Verständnis der Stärken und Einschränkungen jedes Dienstes ist entscheidend. Dies wird Ihnen helfen, das richtige Tool für Ihre spezifischen Anforderungen auszuwählen. Die richtige Entscheidung wird Ihre Datenanforderungen effektiv erfüllen.

Was ist Amazon Redshift?

Amazon Redshift ist ein vollständig verwalteter, petabyte-skalierter Data-Warehouse-Dienst, der für die Speicherung und Analyse großer Datenmengen entwickelt wurde.

Es basiert auf PostgreSQL und bietet eine kostengünstige Lösung für die Ausführung komplexer Abfragen auf großen Datensätzen. Redshift speichert Daten in Spalten und verwendet viele Prozessoren, um Abfragen schnell auszuführen und eine hohe Leistung zu erzielen. Es ist gut geeignet für Data Warehousing, Business Intelligence und Berichtsarbeitslasten.

Was ist Amazon Athena?

Amazon Athena ist ein Dienst, der es Ihnen ermöglicht, Daten aus Amazon S3 mit standardmäßigem SQL zu analysieren. Es ist serverlos, was bedeutet, dass Sie keine Infrastruktur bereitstellen oder verwalten müssen.

Athena ermöglicht Benutzern die Durchführung von Ad-hoc-Abfragen und die Erforschung von in S3 gespeicherten Daten. Es unterstützt eine Vielzahl von Datenformaten, darunter CSV, JSON, ORC, Avro und Parquet.

Athena ist großartig für die schnelle Analyse von Daten ohne komplexe ETL-Prozesse oder Data Warehousing.

Es ist ideal für Situationen, die eine schnelle Datenanalyse erfordern. Athena beseitigt die Notwendigkeit komplizierter ETL-Prozesse und Data Warehousing.

Cloud-Datenspeicherung

Wenn es um die Cloud-Datenspeicherung geht, haben Redshift und Athena unterschiedliche Ansätze. Redshift speichert Daten in seiner eigenen verwalteten Speicherebene, die für schnelle Abfragen und Analysen optimiert wird.

Sie laden Daten in Redshift-Cluster, die aus Knoten bestehen, die die Daten speichern und verarbeiten. Redshift verteilt die Daten automatisch auf die Knoten basierend auf dem von Ihnen gewählten Verteilungsstil, wie beispielsweise gleichmäßig, nach Schlüssel oder alle. Dies ermöglicht eine effiziente parallele Verarbeitung und Abfrageausführung.

Beispiel

Um Daten in Redshift zu speichern, erstellen Sie zunächst einen Cluster mit der gewünschten Anzahl von Knoten und Knotentypen. Anschließend können Sie den Befehl COPY verwenden, um Daten aus S3 in Redshift-Tabellen zu laden. Um beispielsweise Daten aus einer CSV-Datei in S3 in eine Redshift-Tabelle namens “users” zu laden, können Sie den folgenden Befehl verwenden:

COPY users FROM 's3://your-bucket/path/to/file.csv'
IAM_ROLE 'arn:aws:iam::123456789012:role/RedshiftLoadRole'
FORMAT AS CSV;

Athena dagegen speichert keine Daten selbst. Stattdessen verwendet es Amazon S3 als zugrunde liegende Speicherebene. Sie definieren Tabellen in Athena, die den in S3 gespeicherten Daten zugeordnet sind, indem Sie das Schema und das Datenformat angeben. Athena verwendet diese Metadaten, um die Daten direkt aus S3 abzufragen, ohne dass ein Laden oder eine Transformation erforderlich ist.

Beispiel

Um eine Tabelle in Athena zu erstellen, die den in S3 gespeicherten Daten zugeordnet ist, können Sie die Anweisung CREATE EXTERNAL TABLE verwenden. Hier ist ein Beispiel:

CREATE EXTERNAL TABLE users (
id INT,
name STRING,
age INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 's3://your-bucket/path/to/data/';

Dies erstellt eine externe Tabelle namens “users”, die den in der angegebenen S3-Location gespeicherten CSV-Daten zugeordnet ist. Athena kann nun diese Daten mit standardmäßigem SQL abfragen.

Zugriffskontrolle und Sicherheit

Redshift und Athena verfügen beide über starke Sicherheitsfunktionen, um Ihre Daten zu schützen.

Redshift bietet mehrere Sicherheitsmechanismen, darunter:

  1. Netzwerkisolation: Redshift-Cluster können in einer Virtual Private Cloud (VPC) gestartet werden, die Sicherheit und Isolation auf Netzwerkebene bietet.
  2. Verschlüsselung: Redshift unterstützt die Verschlüsselung im Ruhezustand mit dem AWS Key Management Service (KMS) und die Verschlüsselung während der Übertragung mit SSL/TLS.
  3. Zugriffskontrolle: Redshift integriert sich mit AWS Identity and Access Management (IAM) zur Verwaltung der Benutzerauthentifizierung und -autorisierung. Sie können feingranulare Zugriffspolitiken definieren, um zu steuern, wer Daten innerhalb von Redshift zugreifen und manipulieren kann.
  4. Überprüfung: Redshift bietet detaillierte Überprüfungsprotokolle und die Integration mit AWS CloudTrail zur Nachverfolgung von Benutzeraktivitäten und Änderungen am Cluster.

Beispiel: Um einem Benutzer nur Lesezugriff auf eine bestimmte Redshift-Tabelle zu gewähren, können Sie eine IAM-Richtlinie wie folgt erstellen:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials",
                "redshift:DescribeTable",
                "redshift:SelectFromTable"
            ],
            "Resource": [
                "arn:aws:redshift:us-west-2:123456789012:cluster:your-cluster-name",
                "arn:aws:redshift:us-west-2:123456789012:table:your-schema-name/your-table-name"
            ]
        }
    ]
}

Athena nutzt Amazon S3s Sicherheitsfunktionen, einschließlich:

  1. Zugriffskontrolle: Athena verwendet IAM-Richtlinien zur Kontrolle des Zugriffs auf S3-Buckets und -Objekte. Sie können Richtlinien definieren, um den Zugriff auf bestimmte S3-Pfade oder Athena-Aktionen zu beschränken.
  2. Verschlüsselung: Athena unterstützt das Abfragen von Daten, die im Ruhezustand in S3 mit AWS KMS verschlüsselt sind.
  3. Überprüfung: Athena integriert sich mit AWS CloudTrail, um alle API-Aufrufe und Benutzeraktivitäten zu protokollieren und so eine Überwachungsspur für Compliance und Sicherheitszwecke bereitzustellen.

Für einen Benutzer, um Abfragen auf einer bestimmten Athena-Tabelle auszuführen, können Sie eine IAM-Richtlinie erstellen.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:GetQueryResults"
            ],
            "Resource": [
                "arn:aws:athena:us-west-2:123456789012:workgroup/your-workgroup-name"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket-name",
                "arn:aws:s3:::your-bucket-name/*"
            ]
        }
    ]
}

Diese Richtlinie ermöglicht es dem Benutzer, Abfragen in der ausgewählten Athena-Arbeitsgruppe auszuführen und die erforderlichen S3-Objekte anzuzeigen.

Überprüfungen und Compliance in der Cloud

Überprüfungen sind entscheidend, um die Compliance aufrechtzuerhalten und Benutzeraktivitäten in Redshift und Athena nachzuverfolgen.

Redshift bietet folgende Überprüfungsmöglichkeiten:

  1. Systemtabellen: Redshift pflegt Systemtabellen, die Informationen über Benutzerverbindungen, ausgeführte Abfragen und Änderungen an der Clusterkonfiguration enthalten.
  2. Integration mit AWS CloudTrail: Redshift integriert sich mit CloudTrail, um API-Aufrufe und Managementereignisse zu protokollieren und so eine umfassende Überwachungsspur bereitzustellen.
  3. Protokollierung: Redshift kann Benutzeraktivitäten, Verbindungen und Abfragen zu Amazon S3 oder Amazon CloudWatch Logs zur Analyse und Überwachung protokollieren.

Um Benutzerverbindungen und Aktivitäten in Redshift zu protokollieren, passen Sie die Cluster-Parametergruppe an und setzen spezifische Parameter.

enable_user_activity_logging = true
enable_user_activity_logging_level = STANDARD

Athena, als serverloser Dienst, stützt sich auf AWS CloudTrail für die Überprüfung:

  1. Integration mit AWS CloudTrail: Athena protokolliert automatisch alle API-Aufrufe und Benutzeraktivitäten in CloudTrail und bietet so eine detaillierte Überwachungsspur.
  2. S3-Serverzugriffsprotokollierung: Sie können die Serverzugriffsprotokollierung auf den von Athena verwendeten S3-Buckets aktivieren, um den zugriffs- und objektgenauen Zugriff und die Operationen nachzuverfolgen.

Beispiel: Zum Analysieren von Athena-Abfragen mit CloudTrail-Protokollen können Sie Amazon Athena selbst verwenden, um die in S3 gespeicherten Protokolle abzufragen. Erstellen Sie zunächst eine Athena-Tabelle, die den CloudTrail-Protokollen zugeordnet ist:

CREATE EXTERNAL TABLE cloudtrail_logs (
eventversion STRING,
useridentity STRUCT<
type: STRING,
principalid: STRING,
arn: STRING,
accountid: STRING,
invokedby: STRING
>,
eventtime STRING,
eventsource STRING,
eventname STRING,
awsregion STRING,
sourceipaddress STRING,
useragent STRING,
errorcode STRING,
errormessage STRING,
requestparameters STRING,
responseelements STRING,
additionaleventdata STRING,
requestid STRING,
eventid STRING,
resources ARRAY<STRUCT<
arn: STRING,
accountid: STRING,
type: STRING
>>,
eventtype STRING,
apiversion STRING,
readonly STRING,
recipientaccountid STRING,
serviceeventdetails STRING,
sharedeventid STRING,
vpcendpointid STRING
)
ROW FORMAT SERDE 'com.amazon.emr.hive.serde.CloudTrailSerde'
STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://your-cloudtrail-bucket/AWSLogs/123456789012/CloudTrail/';

Beachten Sie, dass die Verwendung von < und > zum Definieren strukturierter Datentypen spezifisch für Amazon Athenas SQL-Dialekt ist.

Athena verwendet eine Variante von SQL namens Presto SQL, das auf der verteilten SQL-Abfrage-Engine Presto basiert. Presto SQL führt einige Erweiterungen und Syntaxunterschiede im Vergleich zu standardmäßigem SQL ein.

Anschließend können Sie die CloudTrail-Protokolle abfragen, um die Nutzung von Athena zu analysieren:

SELECT
useridentity.arn,
eventtime,
eventsource,
eventname,
requestparameters
FROM cloudtrail_logs
WHERE eventsource = 'athena.amazonaws.com'
AND eventname LIKE 'Start%'
ORDER BY eventtime DESC
LIMIT 100;

Diese Abfrage ruft die letzten 100 Athena-Abfrageausführungsereignisse ab, einschließlich der Benutzer-ARN, Ereigniszeit, Ereignisquelle, Ereignisname und Anforderungsparameter.

Redshift vs Athena: Schlussfolgerung

Beide sind leistungsstarke Lösungen von AWS für die Arbeit mit Daten in der Cloud. Redshift ist eine verwaltete Data-Warehousing-Lösung zum Speichern und Abfragen großer Datensätze. Athena ist ein serverloser Abfragedienst zur Analyse von Daten aus S3 mit SQL. Beide Dienste bieten robuste Zugriffskontroll-, Sicherheits- und Überprüfungsfunktionen, um den Schutz und die Einhaltung Ihrer Daten zu gewährleisten.

Bei der Auswahl zwischen Redshift und Athena sollten Sie Ihren spezifischen Anwendungsfall und Ihre Anforderungen berücksichtigen. Wenn Sie komplexe Abfragen, groß angelegte Datenspeicherung und leistungsstarke Analysen benötigen, könnte Redshift die bessere Wahl sein. Wenn Sie hingegen Daten in S3 gespeichert haben und Ad-hoc-Abfragen und Explorationen ohne den Aufwand der Infrastrukturverwaltung benötigen, ist Athena eine großartige Option.

Es ist wichtig, dass Sie geeignete Zugriffskontrollen, Verschlüsselung und Überprüfungen implementieren, um Ihre Daten zu schützen. Egal für welche Lösung Sie sich entscheiden, diese Maßnahmen sind entscheidend für die Sicherheit und Integrität Ihrer Daten.

Geeignete Zugriffskontrollen stellen sicher, dass nur autorisierte Benutzer auf die Daten zugreifen können. Die Verschlüsselung hilft, die Daten vor unbefugtem Zugriff zu schützen. Die Überprüfung hilft, Änderungen oder Zugriffe auf die Daten zu überwachen und nachzuverfolgen.

Indem Sie Sicherheitsfunktionen verwenden und bewährte Verfahren befolgen, können Sie Ihre Daten in der Cloud sicher halten. Dies stellt sicher, dass Ihre Daten sicher bleiben und den Vorschriften entsprechen.

DataSunrise bietet benutzerfreundliche und flexible Tools für die Datensicherheit von Redshift und Athena, Auditregeln, Maskierung und Compliance. Unsere Lösungen integrieren sich nahtlos mit AWS-Diensten und bieten eine zusätzliche Sicherheitsebene und Kontrolle über Ihre Daten.

Benötigen Sie erstklassige Datensicherheits- und Compliance-Lösungen? Dann sind Sie bei DataSunrise genau richtig! Nehmen Sie an einer Online-Demo teil, um zu sehen, wie unsere Angebote Ihrem Unternehmen zugutekommen können.

Nächste

CCPA und CPRA: Die zwei wichtigsten Compliance-Vorschriften in Kalifornien

CCPA und CPRA: Die zwei wichtigsten Compliance-Vorschriften in Kalifornien

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]