Prepstellar

DP-900 · Data Storage Options

23 cards

Data Storage Options

Swipe, scroll or use ← →
  1. Match the format to the job

    Before naming a format, name the requirement. A file format should match three things: the type of data being stored, the applications that must read or write it, and whether people need to read the file or systems need efficient storage and processing.

    That last pair is the fork in the road. Human-readable formats are not usually optimized for storage space or processing, and formats optimized for storage and processing are not usually pleasant to open in a text editor. You are choosing which of the two you need, not looking for a format that is best at everything.

    The requirement says Look toward
    People must open and inspect the file Delimited text, JSON, XML
    Many applications must exchange structured rows Delimited text such as CSV
    Hierarchical or varying records JSON
    Storage and processing efficiency at scale Parquet, Avro, Delta Lake
    Images, video, audio, application documents Raw binary
    1 / 23
  2. Quick check

    Which set of considerations should drive the choice of a data file format?

    1. AThe physical medium and the age of the source system

      Neither the medium nor the age of the system is among the stated considerations for choosing a format.

    2. BThe data type, the applications involved, and whether people or systems read the file

      Right. The format should match the type of data, the applications that read or write it, and whether human readability or storage and processing efficiency is required.

    3. CThe number of records, provided the format is human-readable

      Record count alone settles nothing, and human readability is one consideration among several rather than a default.

    2 / 23

  3. Delimited text keeps data readable

    Comma-separated values, or CSV, stores plain-text fields separated by commas and rows terminated by a new line. The first line can optionally contain the field names.

    CustomerID,Name,City
    1001,A. Ferrer,Girona
    1002,B. Okafor,Lagos
    

    CSV has close relatives: TSV and space-delimited text change the separator, while fixed-width text uses fixed character positions.

    Format Separator
    Comma-separated values A comma
    Tab-separated values A tab
    Space-delimited A space
    Fixed-width No separator; each field is allocated a fixed number of characters

    Delimited text is suitable for structured data that must be human-readable and accessible to many applications. That is its whole reason to exist: anyone can open it, and almost anything can parse it.

    3 / 23
  4. Quick check

    A team must exchange structured rows with many applications, and people must be able to inspect the files in a text editor. Which format fits the requirement?

    1. ACSV, because delimited text is broadly accessible and human-readable

      Right. Delimited text is suitable for structured data that must be human-readable and accessible to many applications.

    2. BAvro, because binary records are designed to display as readable rows

      Avro holds data as binary records, so it is not the format to reach for when people must read the file directly.

    3. CA raw binary object, because media formats are the standard for tabular fields

      Raw binary is how images, video, audio, and application documents are stored, not how tabular fields are exchanged.

    4 / 23

  5. JSON and XML carry hierarchy

    JavaScript Object Notation, or JSON, represents objects with attributes and supports hierarchical structure. An attribute can itself contain an object or a collection of objects, which is why JSON handles both structured and semi-structured data.

    { "orderId": 5501,
      "customer": { "id": 1001, "city": "Girona" },
      "lines": [ { "sku": "A-1", "qty": 2 }, { "sku": "B-7", "qty": 1 } ] }
    

    Extensible Markup Language, or XML, is human-readable and uses tags to define elements and attributes. Tags are written inside angle brackets. XML is more verbose than JSON but remains in use in some systems, so recognizing it matters even when a new design would not choose it. Here is the same order in XML:

    <order id="5501">
      <customer id="1001"><city>Girona</city></customer>
      <lines>
        <line><sku>A-1</sku><qty>2</qty></line>
        <line><sku>B-7</sku><qty>1</qty></line>
      </lines>
    </order>
    
    5 / 23
  6. JSON and XML carry hierarchy

    Some data is not text at all. Files such as images, video, audio, and application-specific documents are stored as raw binary that an application must interpret and render. Data professionals commonly call these files binary large objects, or BLOBs.

    Keeping the four text-and-binary families apart is most of the recall this topic asks for.

    Format Shape Recognize it by
    CSV Plain text Fields separated by commas, rows ended by a new line
    JSON Plain text Braces, collections, and name-value attributes forming a hierarchy
    XML Plain text Elements and attributes defined by tags in angle brackets
    BLOB Raw binary Media or application documents that an application must render
    6 / 23
  7. Quick check

    Which format represents hierarchical objects and can hold structured or semi-structured data?

    1. AA binary large object rendered by an application

      A binary large object is raw binary that an application renders, such as an image or a video file.

    2. BComma-separated values in plain text

      Delimited text stores flat rows of fields; it has no way to nest an object inside an attribute.

    3. CJavaScript Object Notation

      Right. JSON represents objects with attributes, an attribute can contain an object or a collection of objects, and that hierarchy suits structured and semi-structured data.

    7 / 23

  8. Keep your progress in the app

    That’s 3 of 10 quick checks. In the app they stay answered, and every lesson remembers where you left off.

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store
    Keep reading here
  9. Optimized formats trade readability for efficiency

    When storage space, compression, and processing speed matter more than reading the file by eye, two common optimized formats are Parquet and Avro, and they use different layouts.

    Parquet is a columnar format that stores data for each column together within row groups and uses metadata to locate relevant chunks. Because a query can jump to the chunks holding only the columns it needs, Parquet supports efficient compression and processing, including of nested data.

    Avro is row-based, describes its schema as JSON in the file header, and holds the data as binary records. Keeping whole records together suits moving data around: Avro is useful for compression and for reducing storage and network bandwidth.

    Avro keeps the fields of each record together, while Parquet groups the values of each column so a query can read only the columns it needs.ROW-BASED (AVRO)COLUMNAR (PARQUET)1, Ada, Gironarecord 12, Bo, Olotrecord 21, 2IDAda, BoNameGirona, OlotCity
    The same six values, stored two ways: a query for names reads one chunk in Parquet and has to open every record in Avro.
    Parquet Avro
    Layout Columnar: columns grouped within row groups Row-based: whole records together
    Schema Metadata locates relevant chunks Stored in a JSON header
    Payload Compressed column chunks Binary records
    Strength Compression and processing, including nested data Compression, reduced storage and network bandwidth
    8 / 23
  10. Quick check

    Which comparison of Parquet and Avro is correct?

    1. AParquet uses XML tags for elements, while Avro uses comma-delimited text rows

      Angle-bracket tags belong to XML and comma-delimited rows to CSV; neither describes these two formats.

    2. BParquet is columnar, while Avro is row-based with a JSON schema in its header

      Right. Parquet stores each column's data together within row groups, and Avro is row-based with its schema in a JSON header and its data as binary records.

    3. CParquet is row-based with a JSON header, while Avro groups columns in row groups

      This reverses the two layouts: the JSON header belongs to Avro and the row groups of column data belong to Parquet.

    9 / 23

  11. Delta Lake adds transactions to Parquet

    Parquet is efficient but, on its own, a set of files. Delta Lake builds on Parquet by adding a transaction log for ACID transactions, data versioning, and reliable updates.

    The log is what changes the behavior. Because every change is recorded before it counts, a reader never sees half of a write, an earlier version of the data can still be identified, and an update that fails does not leave the files in an inconsistent state.

    Layer What it provides
    Parquet Columnar storage with efficient compression and processing
    Delta Lake on top A transaction log giving ACID transactions, data versioning, and reliable updates

    Note what it does not do: it adds no fixed-width text layout, no XML tag hierarchy, and no graph model. It adds transactional guarantees to files that already exist.

    10 / 23
  12. Quick check

    What does Delta Lake add to Parquet files?

    1. AA transaction log supporting ACID transactions, versioning, and reliable updates

      Right. Delta Lake builds on Parquet by adding a transaction log for ACID transactions, data versioning, and reliable updates.

    2. BA fixed-width text layout that gives each field the same number of characters

      Fixed-width is a plain-text layout, but it is not delimited: field boundaries come from character positions rather than separators.

    3. CAn XML tag hierarchy defining the elements and attributes of every record

      Tags in angle brackets belong to XML; Delta Lake leaves the Parquet payload as it is and adds a log beside it.

    11 / 23

  13. File stores and databases are the two categories

    Above the level of formats sit two broad categories of data store: file stores and databases. Getting the category right comes before choosing anything else.

    Important organizational files are commonly kept in a central shared file storage system rather than only on local disks or removable media. Hosting that central location in the cloud can provide cost-effective, secure, and reliable storage for large volumes of data.

    A database is a dedicated system for storing, managing, and querying data records rather than files. The distinction is not about size or importance: it is about whether the store keeps files that applications open directly, or records that the system itself manages and answers questions about.

    12 / 23
  14. Quick check

    Which rule correctly separates a file store from a database?

    1. AA file store applies table keys, while a database is limited to removable media

      Table keys belong to a relational database, and central file storage exists precisely to replace local disks and removable media.

    2. BA file store keeps files directly, while a database manages and queries data records

      Right. Files are kept in a file store, while a database is a dedicated system for storing, managing, and querying data records rather than files.

    3. CA file store manages relational records, while a database keeps files without querying

      This states the distinction backwards: managing and querying records is the database's role, not the file store's.

    13 / 23

  15. Relational databases organize records in tables

    Relational databases commonly store structured data in tables. Each entity instance has a primary key, and other tables can use that key to reference the entity.

    That reference is what supports normalization, including avoiding the repeated storage of the same entity details. An order table holds a customer key rather than a duplicate copy of the customer's name, address, and phone number, so a corrected address is corrected once.

    Table Holds Reference
    Customer One row per customer, with CustomerID as its primary key None
    Order One row per order CustomerID pointing at the customer

    The CustomerID in each Order row is a foreign key, because it references the primary key of the Customer table.

    Relational tables are managed and queried with Structured Query Language.

    14 / 23
  16. Quick check

    An order system must store customers and orders in tables, use a primary key for each entity, and use a foreign key to relate every order to its customer. Which datastore design fits?

    1. AA relational database whose tables are connected by primary-key and foreign-key references

      Right. The stated primary and foreign keys support the requested relational design; links between tables are not required in every relational database.

    2. BA shared file store holding unrelated binary objects without managed records

      A file store keeps files rather than managed records and does not supply the required table constraints.

    3. CA graph database that represents the entities as nodes and the relationships as links

      A graph can model connected entities, but it does not satisfy the explicit requirement for relational tables and keys.

    15 / 23

  17. Nonrelational models fit other shapes

    Nonrelational databases do not apply a relational schema to their data. They are a family, not one alternative, and each member matches a different record shape.

    Model How a record is stored Example use case
    Key-value Each record is a unique key with an associated value User session data
    Document A specialized key-value store whose value is a JSON document E-commerce product catalog
    Column-family Logically related columns grouped into column families IoT device telemetry
    Graph Entities stored as nodes, with links defining the relationships between them Social network connections

    Read the table as a set of questions about the data. Is a record just a value fetched by its key? Is it a document with its own fields? Are its columns naturally grouped? Or is what matters most the connections between entities?

    16 / 23
  18. Nonrelational models fit other shapes

    That last question is the graph model's whole purpose. When data is highly connected, and the connections themselves are the thing being queried, a graph database represents them directly rather than reconstructing them from keys at query time.

    The contrast with its neighbors is what makes the choice recognizable:

    • A document database parses each value as a JSON document, but it does not record links between documents as first-class data.
    • A column-family database groups related columns; the grouping says nothing about relationships between entities.
    • A relational database can connect records through key values in tables instead of graph nodes and links.
    17 / 23
  19. Quick check

    Which nonrelational model represents highly connected data by recording the connections between entities directly?

    1. AA column-family database with related columns organized into groups

      Column families group logically related columns; the grouping does not express relationships between entities.

    2. BA document database that stores each value as a JSON document

      A document database is a specialized key-value store whose value is a JSON document, not a record of links.

    3. CA graph database with entities as nodes and relationships as links

      Right. A graph database stores entities as nodes and uses links to define the relationships between them.

    18 / 23

  20. Match common use cases to Azure datastores

    Start with what the workload must store and how applications must access it, then select the Azure service whose documented behavior matches those constraints.

    Choose a file store when applications need to work with files directly: human-readable exports, optimized analytical files, or binary media. Choose a database when the workload needs a dedicated system to manage and query records. Within databases, choose a relational design for structured tables, which can use keys to connect records. Choose a nonrelational model for key-value, JSON document, column-family, or graph-shaped records.

    The choice of datastore starts with whether applications work with files or query records, and a second question then splits databases into relational and nonrelational.yesnoyesnoWorkload dataWork withfiles?File storeDatabaseNeed arelational schema?RelationalNonrelational
    Each answer narrows the category; the last step is naming the Azure datastore that fits it.

    Use the category to narrow the choice, but finish with a named Azure datastore when the question asks for one.

    19 / 23
  21. Match common use cases to Azure datastores

    The common mappings are concrete:

    Requirement Azure datastore
    Applications must mount the same managed file share over SMB or NFS Azure Files
    Store massive amounts of unstructured text or binary objects, or build a data lake Azure Blob Storage with Data Lake Storage capabilities when needed
    Store flexible, schemaless key/attribute records Azure Table Storage
    Store relational records in managed SQL tables Azure SQL Database
    Store globally distributed nonrelational data through supported APIs Azure Cosmos DB

    The protocol and data model decide the service. A legacy application that already opens shared directories over SMB points to Azure Files; a collection of unstructured objects points to Blob Storage instead.

    20 / 23
  22. Quick check

    Several legacy applications must mount the same managed directories over SMB without code changes. Which Azure datastore should host the files?

    1. AAzure Blob Storage for object access over HTTP

      Blob Storage is object storage and does not match the stated SMB file-share requirement.

    2. BAzure Files for managed SMB file shares

      Right. Azure Files provides fully managed file shares that applications can mount over SMB.

    3. CAzure Table Storage for schemaless key/attribute records

      Table Storage manages NoSQL records rather than directories mounted through a file-sharing protocol.

    21 / 23

  23. Key takeaways

    • Choose a format from the requirement: the data type, the applications that read or write it, and whether people must read the file or systems need storage and processing efficiency.
    • Know the four families: CSV and its delimited relatives for readable structured rows, JSON for hierarchical objects, XML for tag-defined elements, and raw binary large objects for media and application documents.
    • Optimized formats split by layout: Parquet is columnar with metadata over row groups, Avro is row-based with a JSON schema in its header and binary records, and Delta Lake adds a transaction log for ACID transactions, versioning, and reliable updates.
    • Two store categories: file stores keep files; databases manage and query records.
    • Within databases: relational tables store records and can use keys to connect them. SQL queries these tables; key-value, document, column-family, and graph models fit other record shapes.
    • Name the Azure datastore: Azure Files serves managed SMB/NFS shares, Blob Storage holds unstructured objects and data lakes, Azure Tables stores schemaless key/attribute data, Azure SQL serves relational records, and Cosmos DB serves globally distributed nonrelational workloads.
    22 / 23
  24. Quick check

    Which statement matches the storage options described here?

    1. AParquet stores data column by column, and a graph database records entities as nodes with links

      Right. Parquet is the columnar format storing each column's data within row groups, and a graph database stores entities as nodes with links defining their relationships.

    2. BDelta Lake replaces Parquet with XML, and a document database stores each value as a column family

      Delta Lake builds on Parquet rather than replacing it, and a document database stores its value as a JSON document.

    3. CCSV is a binary format, and a relational database avoids primary keys through normalization

      CSV is plain text, and normalization in a relational database depends on primary keys rather than avoiding them.

    23 / 23

  25. 10 quick checks · then the test

    In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.

    Take this lesson’s test →

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store

The whole course, on your computer and your phone

Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.

Opens in your browser. Nothing to install.

Start studying

On your phone, with the same account

Get it on Google Play Download on the App Store

“This app is the ‘One Lake’ for preparing the certification exams. Really worth it.”

Abdelhak Y. Google Play review