MongoDB – FAQ

Was ist MongoDB?

MongoDB ist eine universelle, dokumentenbasierte, verteilte Datenplattform, die für moderne Anwendungsentwickler und für die Cloud erstellt wurde. Keine Datenplattform ist im Einsatz produktiver.

Warum ist MongoDB hilfreich?

Die MongoDB-Datenplattform basiert auf drei zentralen Designprinzipien, die Ihnen eine schnellere Entwicklung mit höherer Qualität ermöglichen:

1 Das Dokumentdatenmodell – Die optimale Art und Weise der Arbeit mit Daten.

  1. Ein verteiltes Systemdesign – Zur intelligenten Platzierung der Daten am gewünschten Speicherort.

  2. Eine einheitliche Umgebung, die überall ausgeführt werden kann* – Sie können Ihre Apps zukunftssicher gestalten und vermeiden es, sich an einen bestimmten Anbieter binden zu müssen.

Erfahren Sie im MongoDB-Architekturleitfaden mehr.

Wann sollte ich MongoDB verwenden?

Die MongoDB-Datenplattform kann mit einer Reihe von OLTP-Appa und Analyse-Apps eingesetzt werden.

Mit MongoDB Server und MongoDB Atlas Data Lake (derzeit in der Beta-Phase) können Sie eine breite Palette von Anwendungsanforderungen abdecken.

MongoDB Server und Atlas: OLTP und Onlineanalyse

MongoDB Server ist eine universell einsetzbare Datenbank, die für die meisten OLTP- und Onlineanalyse-Workloads entwickelt wurde:

  • Wo auch immer Sie über den Einsatz einer relationalen Datenbank nachdenken, sollten Sie MongoDB in Betracht ziehen.

  • Wo auch immer Sie über den Einsatz einer NoSQL-Datenbank nachdenken, sollten Sie MongoDB in Betracht ziehen.

Ganz gleich, ob Sie planen, Ihre Apps in Ihren eigenen Rechenzentren, als native Serverless-Cloud-Lösung oder in einem hybriden Bereitstellungsmodell zu betreiben – MongoDB Server bietet Ihnen in allen Szenarien eine vollständige Agilität der Infrastruktur. Sie können MongoDB selbst auf Ihrer eigenen Infrastruktur betreiben oder MongoDB Atlas nutzen, unseren vollständig verwalteten und vollständig automatisierten globalen Cloud-Datenbank-Service, der in über 60 Regionen bei AWS, Azure und GCP verfügbar ist.

MongoDB Atlas Data Lake (Beta): Offlineanalyse

MongoDB Atlas Data Lake

erweitert die Leistung und Produktivität von MongoDB auf Offlineanalyse-Workloads. Mit Atlas Data Lake können Sie schnell und einfach Daten in jedem Format bei Amazon S3 (andere Cloud-Anbieter folgen in Kürze) mit der MongoDB Query Language und entsprechenden Tools abfragen.

Mit Atlas Data Lake können Sie den Wert Ihres Data-Lakes schneller realisieren: Sie müssen Daten nirgendwohin verschieben, Sie können mit komplexen Daten sofort in ihrer nativen Form arbeiten und mit der vollständig verwalteten, serverlosen Architektur kontrollieren Sie die Kosten und beseitigen den betrieblichen Aufwand.

Die MongoDB-Datenplattform

Mit MongoDB Server und Atlas Data Lake steht Ihnen eine integrierte Datenplattform zur Verfügung, die nur eine Abfragesprache und dieselben Tools nutzt und vollständig vom nativen Atlas-Cloud-Service verwaltet wird. So können Sie eine breite Palette von operativen und analytischen Anwendungen nutzen:

  1. MongoDB Atlas: Wurde für Online-OLTP-Anwendungen entwickelt, die Antwortzeiten im Millisekundenbereich erfordern, und arbeitet für Echtzeitanalysen gegen Live-Betriebsdaten mit dedizierten Analyseknoten.

  2. MongoDB Atlas: Ermöglicht Onlineanalysen mit optimierten sekundären Indizes zur Unterstützung vorhersehbarer Abfragemuster, die Latenzzeiten im Bereich von weniger als einer Sekunde bis zu mehreren Sekunden erfordern.

  3. MongoDB Atlas Data Lake: Wurde für Offlineanalysen gegen große Datenmengen, die in der Cloud gespeichert sind, entworfen. Die (minimalen) Latenzzeiten können bei wenigen Sekunden liegen. Typischerweise geht es jedoch um Minuten und mehr – abhängig davon, wie viele Daten Sie abfragen und wie diese partitioniert sind.

Um mehr über Anwendungsfälle für MongoDB und die passenden Workloads für alternative Technologien zu erfahren, lesen Sie das Whitepaper MongoDB Use Case Guidance.

Wie unterscheidet sich MongoDB von relationalen Datenbanken wie Oracle?

Relationale Datenbanken wie Oracle, MySQL, SQL Server, Postgres und andere arbeiten mit Architekturen, die ursprünglich vor über 40 Jahren entwickelt wurden. Die Anforderungen an Anwendungen waren in den 1970er Jahren ganz anders als bei modernen Anwendungen. Als Oracle 1979 seine erste kommerzielle Version einer Datenbank herausbrachte, kostete sie etwa 3.000 USD pro MB Speicherplatz. Diese Kosten zwangen die Softwarearchitekten dazu, Daten zu normalisieren und Tabellen mit mehreren Joins zu erstellen, um Anwendungsdaten zu speichern und so Redundanzen zu vermeiden. Infolgedessen enthalten Anwendungen für relationale Datenbanken heute Dutzende, Hunderte und in manchen Fällen Tausende von Tabellen, die mit Joins verknüpft werden müssen, um Abfrageergebnisse zu erhalten. Diese Komplexität zwingt die Entwickler nicht nur dazu, komplizierte SQL-Abfragen zu schreiben, sondern viele Tabellen in einer Abfrage sorgen auch für höhere E/A-Anforderungen, die wiederum die Infrastrukturkosten erhöhen.

MongoDB wurde mit Blick auf die Entwickler entworfen. Die Datenbank soll weniger wichtig werden. Die Produktivität soll steigen. Mit MongoDB speichern Sie die Daten einfach so, wie sie in der Anwendung verwendet werden, und fragen die Daten mit einer modernen Abfragesprache ab. Ihr Schema ist flexibel und ermöglicht Entwicklern die kontinuierliche Integration neuer Funktionen.

Im Gegensatz zu Oracle und anderen relationalen Datenbanken arbeitet MongoDB mit einer verteilten Systemarchitektur. Dank dieser können Sie Ihre Datenbank über mehrere Instanzen skalieren – in einer Region oder auch global über mehrere Regionen.

Sehen Sie sich die Seite Oracle und MongoDB im Vergleich an, um die Unterschiede näher zu erkunden.

Wie kann ich mehr über MongoDB erfahren?

Der einfachste Weg zum Einstieg mit MongoDB sind unsere kostenlosen Onlineschulungen für Entwickler und Datenbankadministratoren (DBAs) der MongoDB University. Die Onlineschulungen der MongoDB University werden von den Entwicklern der MongoDB, Inc. erstellt und durchgeführt. Die MongoDB University hat über 1 Million Mitglieder aus 196 Ländern: Diese Studenten haben gelernt, wie man Anwendungen mit MongoDB entwickelt und bereitstellt.

Die kostenlosen Kurse der MongoDB University decken alles ab, was Sie wissen müssen, um ein MongoDB-Experte zu werden. Die Onlineschulungen wurden speziell entwickelt, um Sie bei der Entwicklung neuer Kompetenzen in den für Ihr Unternehmen wichtigen Bereichen zu unterstützen. Die Onlineschulungen basieren auf realen Anwendungen und werden von unserem engagierten Team von Inhouse-Entwicklern unterrichtet, die jeden Tag am Code arbeiten und Anwendungsfälle in über 13.000 Unternehmen kennen.

Die Schulungen der MongoDB University werden im Selbststudium durchgeführt, sodass Sie die Videos und Kursmaterialien dann durcharbeiten können, wenn es Ihnen am besten passt. Gleichzeitig bieten wir Ihnen mit wöchentlichen Aufgaben und Terminen zur Überprüfung Ihrer Fortschritte und einer Abschlussprüfung eine passende Lernstruktur. Die meisten Kurse laufen über drei Wochen. Pro Woche ist normalerweise nur ein Zeitaufwand von 90 Minuten erforderlich. Finden Sie einen Kurs, der für Sie geeignet ist. Sehen Sie sich den Kurskatalog an.

Wie kann ich MongoDB Certified Professional werden?

Legen Sie die MongoDB-Zertifizierungsprüfung ab, um Ihre Fachkompetenz zu belegen und MongoDB Certified Professional Developer oder DBA zu werden. MongoDB-Zertifizierungen zeichnen Entwickler und Datenbankadministratoren (DBAs) aus, die über das notwendige Wissen verfügen, um MongoDB-Anwendungen zu erstellen und zu warten.

Um sich auf die Zertifizierungsprüfung vorzubereiten, nehmen Sie an unserer Praxisprüfung teil. So lernen Sie die Themenbereiche und das Format der Zertifizierungsprüfung kennen. Zusätzlich zur Praxisprüfung gibt es den Lernleitfaden. Der Lernleitfaden deckt alle Themen der Developer- und der DBA-Prüfung ab. Jeder Abschnitt des Leitfadens verweist auf die relevante Dokumentation und andere Onlineressourcen.

MongoDB Server ist kostenlos. Was verkauft MongoDB Inc.?

Wir sind das Unternehmen, das MongoDB entwickelt und betreibt. Über 14.200 Organisationen vertrauen auf unsere kommerziellen Produkte. Wir bieten Software und Services, die Ihnen das Leben leichter machen: Die MongoDB-Datenbank

  • MongoDB Atlas ist der globale Cloud-Datenbank-Service für moderne Anwendungen. Stellen Sie MongoDB vollständig verwaltet bei AWS, Azure oder Google Cloud bereit – mit einer erstklassigen Automatisierung und bewährten Methoden, die über Sicherheitsstandards die Verfügbarkeit, Skalierbarkeit und Konformität garantieren. Nutzen Sie die robuste Umgebung von MongoDB mit Treibern, Integrationsoptionen und Tools, um die Entwicklung zu beschleunigen und weniger Zeit für den Betrieb und die Datenbankverwaltung aufzuwenden.

  • MongoDB Enterprise Advanced ist die beste Möglichkeit, MongoDB in Ihrer eigenen Infrastruktur zu betreiben. Es ist ein fein abgestimmtes Paket aus erweiterter Software, Support, Zertifizierungen und anderen Services, die für Ihre Geschäftsabläufe entwickelt wurden.- MongoDB Cloud Manager ist ein cloudbasiertes Tool, mit dem Sie MongoDB in Ihrer eigenen Infrastruktur verwalten können. Sie erhalten ein Komplettpaket für die Datenbankadministration mit Funktionen zur automatisierten Bereitstellung und detaillierten Überwachung sowie für kontinuierliche Backups. Damit erlangen Sie die volle Kontrolle über Ihre Datenbanken.

Analyse und Visualisierung mit MongoDB

  • Mit MongoDB Atlas Data Lake können Sie mit der MongoDB Query Language und den Tools schnell und einfach Daten in jedem Format bei Amazon S3 abfragen. Sie müssen Daten nirgendwohin verschieben. Sie können sofort mit komplexen Daten in ihrer nativen Form arbeiten und mit der vollständig verwalteten, serverlosen Architektur kontrollieren Sie die Kosten und beseitigen den operativen Aufwand.

  • MongoDB Charts ist die beste Möglichkeit zur Visualisierung von MongoDB-Daten. Erstellen Sie schnell und einfach Visualisierungen, um komplexe, verschachtelte Daten zu analysieren. Betten Sie einzelne Diagramme in jede beliebige Webanwendung ein oder fügen Sie sie zu Live-Dashboards für die gemeinsame Nutzung zusammen.

  • Mit dem MongoDB Connector for BI können Sie MongoDB als Datenquelle für Ihre vorhandenen SQL-basierten BI- und Analyseplattformen wie Tableau, Microstrategy, Looker und andere nutzen.

  • Der MongoDB Connector for Apache Spark stellt alle Bibliotheken von Spark zur Verfügung – einschließlich Scala, Java, Python und R. MongoDB-Daten werden über APIs zur Analyse für maschinelles Lernen, für Diagramme, zum Streamen und als SQL dargestellt.

Mobile-Datenbank und Plattform für Serverless-Anwendungen

  • Die MongoDB Realm-Datenbank wurde bereits über 2 Milliarden Mal installiert und bietet eine schnelle, benutzerfreundliche Alternative zu SQLite und Core Data. Mit der Unterstützung für komplexe Abfragen, sicherem Threading, einer reaktiven Architektur zur Erstellung responsiver und flüssiger Benutzeroberflächen, der Verschlüsselung und plattformübergreifender Unterstützung können Entwickler ihren Code vereinfachen und leistungsstarke und ansprechende Umgebungen auf mehr Geräten erstellen.

  • Die MongoDB Realm- und Stitch-Platform hilft Ihnen, bessere Fullstack-Apps schneller zu erstellen. Sie bietet einfach konfigurierbare Regeln für den Zugriff auf Daten und Services direkt aus Ihrem Anwendungs-Front-End sowie Serverless-Funktionen zur Ausführung der Anwendungslogik. Sie können Daten automatisch zwischen der Client- und Back-End-Datenschicht synchronisieren. Durch die Integration mit Ihren Code-Repositories können Sie lokal entwickeln und dann nahtlos versionsbasierte Anwendungsupdates für Test- und Produktionsumgebungen bereitstellen.

MongoDB-Services

  • MongoDB-Beratungspakete sorgen für eine schnellere Umsetzung von Produktionsumgebungen. Sie helfen Ihnen bei der Leistungsoptimierung in der Produktionsumgebung, unterstützen Sie beim Skalieren und halten Ihnen den Rücken frei, damit Sie sich auf Ihre nächste Anwendungsversion konzentrieren können.

  • MongoDB-Schulungen helfen Ihnen, ein MongoDB-Experte zu werden – vom Design bis zum Betrieb geschäftskritischer Systeme in jeder Skalierung. Ganz gleich, ob Sie Entwickler, DBA oder Datenbankarchitekt sind – wir können Ihre MongoDB-Skills verbessern.

Nehmen Sie Kontakt mit uns auf, um mehr zu erfahren

Kann ich eine kommerzielle Lizenz für MongoDB erwerben?

Ja, Sie können mit dem Kauf von MongoDB Enterprise Advanced eine kommerzielle Lizenz für MongoDB erhalten.

Wie werden die Daten in der MongoDB-Datenbank gespeichert?

Daten in MongoDB werden in BSON-Dokumenten gespeichert – Datenstrukturen im JSON-Stil. Dokumente enthalten ein oder mehrere Felder und jedes Feld enthält einen Wert eines bestimmten Datentyps, einschließlich Arrays, Binärdaten und Unterdokumente. Dokumente, die zu einer ähnlichen Struktur neigen, werden als Collections organisiert.

Es kann hilfreich sein, sich Dokumente wie Zeilen in einer relationalen Datenbank, Felder wie Spalten und Collections wie Tabellen vorzustellen.

Im MongoDB-Architekturleitfaden erfahren Sie mehr.

Wie kann ich als Entwickler mit MongoDB-Dokumenten arbeiten?

Um die Produktivität der Entwickler zu steigern, bietet MongoDB native Treiber für alle gängigen Programmiersprachen und Frameworks. Zu den unterstützten Treibern gehören Java, Javascript, C#/.NET, Go, Python, Perl, PHP, Scala und andere. Alle unterstützten MongoDB-Treiber sind so konzipiert, dass sie idiomatisch für die jeweilige Programmiersprache sind. Das macht die Arbeit mit Daten für Entwickler viel natürlicher als zeichenfolgenbasierte Sprachen wie SQL. Umständliche und anfällige ORM-Abstraktionsschichten werden überflüssig.

Mit MongoDB Compass, der grafischen Benutzeroberfläche für MongoDB, können Sie außerdem über eine Benutzeroberfläche mit MongoDB interagieren. Mit Compass können Sie Ihre Daten erkunden und manipulieren, Abfragen und Aggregation-Pipelines visuell über die GUI erstellen und dann als Code in Ihre App exportieren, die Ausführung und Leistung von Abfragen untersuchen, Indizes anzeigen und erstellen, Schemavalidierungsregeln und Ansichten erstellen und vieles mehr.

Unterstützt MongoDB ACID-Transaktionen?

Ja. ACID-Transaktionen über mehrere Dokumente hinweg sind seit der Version MongoDB 4.0 im Jahr 2018 verfügbar.

Wo kann ich MongoDB ausführen?

MongoDB kann überall ausgeführt werden und bietet Ihnen völlige Freiheit von der Plattform.

MongoDB Atlas bietet Ihnen einen kompletten, kostenpflichtigen, vollständig verwalteten Service für MongoDB bei AWS, Azure und Google Cloud.

Sie können MongoDB herunterladen und es selbst überall ausführen. MongoDB Ops Manager ist die beste Möglichkeit, MongoDB auf Ihrer eigenen Infrastruktur zu betreiben. Operative Teams können MongoDB schnell und einfach bereitstellen, überwachen, sichern und skalieren. Die Funktionen von Ops Manager sind auch im MongoDB Cloud Manager-Service verfügbar.

Kann ich MongoDB skalieren?

Zehntausende von Unternehmen nutzen MongoDB, um hochleistungsfähige, skalierbare Systeme zu erstellen. Organisationen wie Fortune 100-Unternehmen und agile Start-ups verlassen sich auf MongoDB. Der Umfang hat sich von Umgebungen mit einzelnen Servern hin zu Clustern mit über 1.000 Knoten entwickelt, die Millionen von Vorgängen für mehr als 100 Milliarden Dokumente und Petabytes an Daten pro Sekunde liefern. Erfahren Sie mehr.

Durch Sharding können Sie Ihre MongoDB-Datenbank automatisch über mehrere Knoten skalieren, um schreibintensive Workloads und wachsende Datenmengen zu bewältigen. Über Sharding mit MongoDB können Sie die Datenbank nahtlos skalieren, wenn Ihre Anwendungen über die Hardwaregrenzen eines einzelnen Servers hinauswachsen – und zwar ohne zusätzliche Komplexität für die Anwendung. Um auf sich ändernde Workload-Anforderungen zu reagieren, können Dokumente zwischen Shards verschoben werden und Knoten können in Echtzeit zum Cluster hinzugefügt oder aus ihm entfernt werden. MongoDB gleicht die Daten bei Bedarf automatisch und ohne manuellen Eingriff aus.

Wie sorgt MongoDB für Hochverfügbarkeit?

MongoDB verwaltet automatisch Replica-Sets. Diese stellen mehrere Kopien von Datensätzen dar, die über Server, Racks und Rechenzentren verteilt sind. Replica-Sets helfen durch die native Replikation und automatische Failovers bei der Vermeidung von Datenbankausfällen.

Ein Replica-Set besteht aus mehreren Replica-Set-Mitgliedern. Dabei fungiert immer ein Mitglied als primäres Mitglied und die anderen Mitglieder sind sekundäre Mitglieder. Wenn das primäre Mitglied aus irgendeinem Grund ausfällt (z. B. ein Hardwarefehler), wird eines der sekundären Mitglieder automatisch zum primären gewählt und beginnt, alle Lese- und Schreibvorgänge zu verarbeiten.

Im MongoDB-Architekturleitfaden erfahren Sie mehr.

Wie sorgt MongoDB für Konsistenz?

MongoDB ist standardmäßig konsistent: Lese- und Schreibvorgänge werden über das primäre Mitglied eines Replica-Sets ausgeführt. Anwendungen können optional von sekundären Replikaten lesen, wo die Daten standardmäßig eventuell konsistent sind. Das Lesen von sekundären Replikaten kann in Szenarien hilfreich sein, in denen es akzeptabel ist, dass die Daten etwas veraltet sind (z. B. bei einigen Reporting-Anwendungen). Anwendungen können außerdem von der nächstgelegenen Kopie der Daten lesen (gemessen an der Ping-Distanz), wenn die Latenz wichtiger ist als die Konsistenz.

Im MongoDB-Architekturleitfaden erfahren Sie mehr.

Arbeitet MongoDB ohne Schema?

Nein. Mit MongoDB ist das Schemadesign nach wie vor wichtig. Das Dokumentmodell von MongoDB verwendet jedoch ein anderes Schema-Paradigma als traditionelle relationale Datenbanken. In MongoDB sind die Dokumente selbstbeschreibend. Es gibt keinen zentralen Katalog, in den das Schema deklariert und gepflegt wird. Das Schema kann zwischen den Dokumenten variieren. Es kann sich schnell weiterentwickeln, ohne dass bestehende Daten geändert werden müssen.

Das dynamische Schema von MongoDB vereinfacht die Darstellung halbstrukturierter und polymorpher Daten, da nicht alle Dokumente genau dieselben Felder haben müssen. Eine Collection mit Finanzdaten könnte zum Beispiel Aktien, Anleihen und Barmittel umfassen. Alle können einige Felder gemeinsam haben. Einige Felder wie „ticker“ oder „numberofshares“ gelten jedoch nicht für alle Daten.

Mit der Schemavalidierung haben Sie die Möglichkeit, ein Schema gegen die Daten durchzusetzen. So werden das Vorhandensein von Pflichtfeldern, zulässige Werten und geeigneten Datentypen sicherstellt. Beim Entwerfen von Schemas in MongoDB sollten Sie eine Reihe von Themen berücksichtigen – beispielsweise die Abfragetypen, die die Anwendung ausführen müssen, wie Objekte im Anwendungscode verwaltet werden und wie sich Dokumente im Laufe der Zeit ändern und möglicherweise wachsen.

Mehr über das Schemadesign erfahren:

Sollte ich meine Daten normalisieren, bevor ich sie in MongoDB speichere?

Nein. Das Schemadesign ist bei der Verwendung von MongoDB sehr wichtig. Es unterscheidet sich aber stark vom Schemadesign bei relationalen Datenbanken.

Mehr über das Schemadesign erfahren:

Wie sichert MongoDB meine Daten?

MongoDB verfügt über umfangreiche Funktionen zur Abwehr, Erkennung und Kontrolle von Datenzugriffen:

  • Authentifizierung: Zur Vereinfachung der Zugriffssteuerung für die Datenbank bietet MongoDB einen starken Challenge-Response-Mechanismus auf Basis von SCRAM-256 sowie die Integration in die Sicherheitsinfrastruktur von Unternehmen – einschließlich LDAP, Windows Active Directory, Kerberos und x.509-Zertifikaten.
  • Autorisierung: Mit der rollenbasierten Zugriffssteuerung (Role Based Access Control, RBAC) können Sie granulare Berechtigungen für einen Benutzer oder eine Anwendung konfigurieren, basierend auf den für die Arbeit erforderlichen Privilegien.
  • Auditing. Zur Einhaltung gesetzlicher Vorschriften können Sicherheitsadministratoren das native Audit-Protokoll von MongoDB verwenden, um alle Datenbankaktivitäten und -änderungen zu protokollieren.
  • Umfassende Verschlüsselung: MongoDB-Daten können verschlüsselt werden, während sie sich im Netzwerk bewegen, während sie in der Datenbank verwendet werden und während sie im Ruhezustand sind (auf der Festplatte oder in Backups).
Lesen Sie die Dokumentation

, um mehr über die Sicherheitskontrollen von MongoDB zu erfahren. Besuchen Sie das MongoDB Trust Center, um mehr über die Sicherheit in der Cloud zu erfahren.

Was ist neu in MongoDB Version 4.4?

Lesen Sie den Leitfaden zu den Neuerungen, um mehr zu erfahren.

In welche Beziehung stehen MongoDB Realm und MongoDB Stitch?

MongoDB Realm kombiniert Realm, die beliebte mobile Datenbank- und Datensynchronisationstechnologie, und MongoDB Stitch, die serverlose Plattform für MongoDB, zu einer einheitlichen Lösung, mit der Sie leistungsstarke und ansprechende Erlebnisse auf mehr Geräten erstellen. Hier erfahren Sie mehr.

Woher kommt der Name MongoDB?

MongoDB leitet sich von dem Wort „humongous“ („gigantisch“) ab. Unsere Gründer schufen große Internet-Unternehmen wie DoubleClick. Sie stießen immer wieder auf die gleichen Probleme mit Datenbanken. Eines der größten Probleme war die Skalierbarkeit. Am Anfang der Entwicklung von MongoDB ging es um eine skalierbare Datenbank. Daher „humongous database („gigantische Datenbank“) – kurz MongoDB.
Unsere Gründer sind der Meinung, dass die Programmentwicklung ganz natürlich sein sollte. Die Verwendung einer Datenbank sollte dies auch sein. Darum ist ihnen wichtig, dass die Nutzung von MongoDB ganz einfach und natürlich funktioniert. Daher das Blatt.