Az adattármodellek ismertetéseUnderstand data store models

A modern üzleti rendszerek egyre nagyobb mennyiségű heterogén adathalmazt kezelhetnek.Modern business systems manage increasingly large volumes of heterogeneous data. Ez a sokféleség azt jelenti, hogy egyetlen adattár használata a legtöbb esetben nem megfelelő megoldás.This heterogeneity means that a single data store is usually not the best approach. Ehelyett a különböző adattípusok különböző adattárakban történő tárolását, amelyek mindegyike egy adott számítási feladatra vagy használati mintára koncentrál.Instead, it's often better to store different types of data in different data stores, each focused toward a specific workload or usage pattern. A többnyelvű perzisztencia kifejezés az adattárolási technológiákat vegyesen használó megoldások leírására használatos.The term polyglot persistence is used to describe solutions that use a mix of data store technologies. Ezért fontos megérteni a fő tárolási modelleket és azok kompromisszumait.Therefore, it's important to understand the main storage models and their tradeoffs.

Az igényeinek megfelelő adattároló kiválasztása a tervezés egyik kulcsfontosságú döntése.Selecting the right data store for your requirements is a key design decision. Az SQL- és NoSQL-adatbázisok esetén több száz megvalósítási mód lehetséges.There are literally hundreds of implementations to choose from among SQL and NoSQL databases. Az adattárakat általában az alapján kategorizáljuk, hogyan strukturálják az adatokat, illetve milyen műveleteket támogatnak.Data stores are often categorized by how they structure data and the types of operations they support. Ebben a cikkben a leggyakoribb tárolási modellek közül többet is ismertetünk.This article describes several of the most common storage models. Vegye figyelembe, hogy egy adott adattároló technológia több tárolómodellt is támogathat.Note that a particular data store technology may support multiple storage models. Például egy relációsadatbázis-kezelő rendszer (RDBMS) a kulcs/érték vagy a gráf típusú tárolókat is támogathatja.For example, a relational database management systems (RDBMS) may also support key/value or graph storage. Valójában az úgynevezett többmodelles támogatás általános tendenciát mutat, ahol egyetlen adatbázisrendszer több modellt is támogat.In fact, there is a general trend for so-called multi-model support, where a single database system supports several models. Ennek ellenére hasznos a különböző modellek magas szintű működésének megismerése.But it's still useful to understand the different models at a high level.

Egy adott kategóriában nem minden adattár biztosítja ugyanazt a szolgáltatáskészletet.Not all data stores in a given category provide the same feature-set. A legtöbb adattár kiszolgálóoldali funkciókat nyújt az adatok lekérdezéséhez és feldolgozásához.Most data stores provide server-side functionality to query and process data. Egyes esetekben ez a funkció be van építve az adattár motorjába.Sometimes this functionality is built into the data storage engine. Más esetekben az adattárolási és feldolgozási képességek elkülönülnek egymástól, és a feldolgozás és elemzés terén számos lehetőség közül választhat.In other cases, the data storage and processing capabilities are separated, and there may be several options for processing and analysis. Az adattárak különböző programozási és felügyeleti felületet is támogatnak.Data stores also support different programmatic and management interfaces.

Általánosan érvényes szabály, hogy elsőként azt kell eldöntenie, melyik tárolási modell felel meg legjobban az igényeinek.Generally, you should start by considering which storage model is best suited for your requirements. Ezután az adott kategórián belül válasszon ki egy adattárat a szolgáltatáskészlet, a költségek és az egyszerű kezelhetőséghez hasonló szempontok alapján.Then consider a particular data store within that category, based on factors such as feature set, cost, and ease of management.

Relációsadatbázis-kezelő rendszerekRelational database management systems

A relációs adatbázisok kétdimenziós, sorokat és oszlopokat tartalmazó táblák sorozataként rendszerezik az adatokat.Relational databases organize data as a series of two-dimensional tables with rows and columns. A legtöbb gyártó a Structured Query Language (SQL) dialektusát adja meg az adatok beolvasásához és kezeléséhez.Most vendors provide a dialect of the Structured Query Language (SQL) for retrieving and managing data. Egy RDBMS általában egy egységes tranzakciójú mechanizmust használ, amely az információfrissítés szempontjából megfelel az ACID-modellnek (Atomic, Consistent, Isolated, Durable – atomitás, konzisztencia, izoláció, tartósság).An RDBMS typically implements a transactionally consistent mechanism that conforms to the ACID (Atomic, Consistent, Isolated, Durable) model for updating information.

Egy RDBMS általában egy írásiséma-modellt támogat, amelyben az adatok struktúrája előre meghatározott, és minden olvasási vagy írási műveletnek a sémát kell használnia.An RDBMS typically supports a schema-on-write model, where the data structure is defined ahead of time, and all read or write operations must use the schema.

Ez a modell nagyon hasznos, ha erős konzisztencia-garanciák fontosak — , ahol az összes változás atomi, és a tranzakciók mindig konzisztens állapotban hagyják el az információkat.This model is very useful when strong consistency guarantees are important — where all changes are atomic, and transactions always leave the data in a consistent state. Egy RDBMS azonban általában nem horizontális felskálázást végez anélkül, hogy valamilyen módon átméretezi azokat.However, an RDBMS generally can't scale out horizontally without sharding the data in some way. Emellett az RDBMS lévő összes adathalmazhoz tartozónak normalizált értéknek kell lennie, ami nem megfelelő.Also, the data in an RDBMS must normalized, which isn't appropriate for every data set.

Azure-szolgáltatásokAzure services

Számítási feladatWorkload

  • A rekordok gyakran jönnek létre és frissülnek.Records are frequently created and updated.
  • Több műveletet kell egyetlen tranzakción belül végrehajtani.Multiple operations have to be completed in a single transaction.
  • A kapcsolatok kényszerítése az adatbázis korlátozásai révén valósul meg.Relationships are enforced using database constraints.
  • A lekérdezési teljesítmény optimalizálása indexekkel történik.Indexes are used to optimize query performance.

AdattípusData type

  • Az adatok nagymértékben normalizáltak.Data is highly normalized.
  • Az adatbázissémák szükségesek és kényszerítettek.Database schemas are required and enforced.
  • Több-a-többhöz kapcsolatok az adatbázisban szereplő adatentitások között.Many-to-many relationships between data entities in the database.
  • A korlátozásokat a séma határozza meg, és alkalmazza az adatbázisban szereplő minden adatra.Constraints are defined in the schema and imposed on any data in the database.
  • Szükséges az adatok nagy fokú integritása.Data requires high integrity. Az indexeket és kapcsolatokat pontosan karban kell tartani.Indexes and relationships need to be maintained accurately.
  • Szükséges az adatok erős konzisztenciája.Data requires strong consistency. A tranzakciók működésének módja biztosítja, hogy minden adat minden felhasználó és folyamat számára teljes mértékben megegyezzen.Transactions operate in a way that ensures all data are 100% consistent for all users and processes.
  • Az egyes adatbejegyzések mérete kis-és közepes méretű.Size of individual data entries is small to medium-sized.

PéldákExamples

  • LeltárkezelésInventory management
  • RendeléskezelésOrder management
  • Jelentéskészítési adatbázisReporting database
  • KönyvelésAccounting

Kulcs/érték tárolókKey/value stores

A kulcs/érték tároló az egyes adatértékeket egyedi kulccsal társítja.A key/value store associates each data value with a unique key. A legtöbb kulcs/érték tároló csak az egyszerű lekérdezési, beszúrási és törlési műveleteket támogatja.Most key/value stores only support simple query, insert, and delete operations. Egy érték (akár részleges, akár teljes) módosításához az alkalmazásnak a teljes értékre vonatkozóan felül kell írnia a meglévő adatokat.To modify a value (either partially or completely), an application must overwrite the existing data for the entire value. A legtöbb megvalósításban egyetlen érték olvasása vagy írása atomi műveletnek számít.In most implementations, reading or writing a single value is an atomic operation.

Egy alkalmazás az értékek halmaza szerint tetszőleges adatok tárolására képes.An application can store arbitrary data as a set of values. Az alkalmazásnak meg kell adni minden séma-információt.Any schema information must be provided by the application. A kulcs/érték tároló egyszerűen lekéri vagy tárolja az értéket kulcs alapján.The key/value store simply retrieves or stores the value by key.

Kulcs-érték tároló diagramja

A kulcs/érték tárolók az egyszerű kereséseket végző alkalmazásokhoz vannak optimalizálva, de kevésbé megfelelőek, ha különböző kulcs/érték tárolók között kell lekérdezni az adatmennyiséget.Key/value stores are highly optimized for applications performing simple lookups, but are less suitable if you need to query data across different key/value stores. A kulcs/érték tárolók nem az érték alapján történő lekérdezésre vannak optimalizálva.Key/value stores are also not optimized for querying by value.

Egyetlen kulcs/érték tároló lehet rendkívüli mértékben skálázható, mivel az adattár könnyedén feloszthatja az adatokat több, külön gépeken található csomópont között.A single key/value store can be extremely scalable, as the data store can easily distribute data across multiple nodes on separate machines.

Azure-szolgáltatásokAzure services

Számítási feladatWorkload

  • Az adathozzáférés egyetlen kulccsal, például egy szótárhoz érhető el.Data is accessed using a single key, like a dictionary.
  • Nincs szükség illesztésre, zárolásra vagy egyesítésre.No joins, lock, or unions are required.
  • Nem használ összesítési mechanizmusokat.No aggregation mechanisms are used.
  • A másodlagos indexeket általában nem használja.Secondary indexes are generally not used.

AdattípusData type

  • Az egyes kulcsok egyetlen értékkel vannak társítva.Each key is associated with a single value.
  • Nincs sémakényszerítés.There is no schema enforcement.
  • Nincsenek entitások közötti kapcsolatok.No relationships between entities.

PéldákExamples

  • Adatok gyorsítótárazásaData caching
  • Munkamenet-kezelésSession management
  • Felhasználói beállítások és profilkezelésUser preference and profile management
  • Termékjavaslat és reklámszolgáltatásProduct recommendation and ad serving

Dokumentum-adatbázisokDocument databases

A dokumentum-adatbázis dokumentumok gyűjteményét tárolja, ahol minden dokumentum elnevezett mezőből és adatból áll.A document database stores a collection of documents, where each document consists of named fields and data. Az adatok lehetnek egyszerű értékek vagy összetett elemek, például a felsorolások és a gyermek gyűjtemények.The data can be simple values or complex elements such as lists and child collections. A dokumentumokat egyedi kulcsok kérik le.Documents are retrieved by unique keys.

A dokumentumok általában egyetlen entitáshoz, például egy ügyfélhez vagy egy rendeléshez tartozó összes adathalmazt tartalmazzák.Typically, a document contains the data for single entity, such as a customer or an order. A dokumentumok tartalmazhatnak olyan információkat, amelyek egy RDBMS több, egymással kapcsolatban álló táblájába lesznek elosztva.A document may contain information that would be spread across several relational tables in an RDBMS. A dokumentumoknak nem kell ugyanazzal a struktúrával rendelkezniük.Documents don't need to have the same structure. Az alkalmazások különböző adatokat tárolhatnak dokumentumokban, ahogyan változnak az üzleti követelmények.Applications can store different data in documents as business requirements change.

Dokumentum-tároló diagramja

Azure-szolgáltatásAzure service

Számítási feladatWorkload

  • Gyakoriak a beszúrási és frissítési műveletek.Insert and update operations are common.
  • Nincs objektumrelációs impedanica-eltérés.No object-relational impedance mismatch. A dokumentumok jobban illeszkednek az alkalmazáskódban használt objektumstruktúrákhoz.Documents can better match the object structures used in application code.
  • Egyes dokumentumokat egyetlen blokként olvas be és ír a rendszer.Individual documents are retrieved and written as a single block.
  • Az adatokhoz többmezős indexelésre van szükség.Data requires index on multiple fields.

AdattípusData type

  • Az adatok denormalizált módon is kezelhetők.Data can be managed in de-normalized way.
  • Az egyes dokumentumadatok mérete viszonylag kicsi.Size of individual document data is relatively small.
  • Minden egyes dokumentumtípus használhatja a saját sémáját.Each document type can use its own schema.
  • A dokumentumok nem kötelező mezőket is tartalmazhatnak.Documents can include optional fields.
  • A dokumentumadatok részben strukturáltak, ami azt jelenti, hogy az egyes mezők adattípusai nincsenek szigorúan meghatározva.Document data is semi-structured, meaning that data types of each field are not strictly defined.

PéldákExamples

  • TermékkatalógusProduct catalog
  • TartalomkezelésContent management
  • LeltárkezelésInventory management

GráfadatbázisokGraph databases

A gráfadatbázisok kétféle típusú információt tárolnak: csomópontokat és éleket.A graph database stores two types of information, nodes and edges. Az élek a csomópontok közötti kapcsolatokat határozzák meg.Edges specify relationships between nodes. A csomópontok és élek olyan tulajdonságokkal rendelkezhetnek, amelyek a tábla oszlopaihoz hasonló, a csomópontra vagy a szegélyre vonatkozó információkat biztosítanak.Nodes and edges can have properties that provide information about that node or edge, similar to columns in a table. A szegélyeknek is lehet iránya, amely a kapcsolat természetét jelöli.Edges can also have a direction indicating the nature of the relationship.

A Graph-adatbázisok hatékonyan végezhetnek lekérdezéseket a csomópontok és élek hálózatán, és elemezhetik az entitások közötti kapcsolatokat.Graph databases can efficiently perform queries across the network of nodes and edges and analyze the relationships between entities. Az alábbi ábrán egy szervezet személyzeti adatbázisa látható gráfként strukturálva.The following diagram shows an organization's personnel database structured as a graph. Az entitások alkalmazottak és részlegek, az élek pedig a jelentéskészítési kapcsolatokat és az alkalmazottak munkáját végző részlegeket jelölik.The entities are employees and departments, and the edges indicate reporting relationships and the departments in which employees work.

Dokumentum-adatbázis diagramja

Ezzel a struktúrával egyértelműen hajthatók végre a következőkhöz hasonló lekérdezések: „Minden alkalmazott megkeresése, aki közvetlenül vagy közvetetten Sárának jelent” vagy „Ki dolgozik Jánossal egy részlegen?”This structure makes it straightforward to perform queries such as "Find all employees who report directly or indirectly to Sarah" or "Who works in the same department as John?" A számos entitást és kapcsolatot tartalmazó, nagy méretű gráfok esetén nagyon gyorsan hajthat végre rendkívül összetett elemzéseket.For large graphs with lots of entities and relationships, you can perform very complex analyses very quickly. Sok gráfadatbázis használ olyan lekérdezési nyelvet, amellyel egy kapcsolatokból álló hálózat hatékonyan bejárható.Many graph databases provide a query language that you can use to traverse a network of relationships efficiently.

Azure-szolgáltatásokAzure services

Számítási feladatWorkload

  • Összetett kapcsolatok a kapcsolódó adatelemek közötti sok ugrást érintő adatelemek között.Complex relationships between data items involving many hops between related data items.
  • Az adatelemek közötti kapcsolat dinamikus, és az idő előrehaladtával változik.The relationship between data items are dynamic and change over time.
  • Az objektumok közötti kapcsolatok kiváló hozzáférést biztosítanak, a bejáráshoz nincs szükségük külső kulcsokra vagy illesztésekre.Relationships between objects are first-class citizens, without requiring foreign-keys and joins to traverse.

AdattípusData type

  • Csomópontok és kapcsolatok.Nodes and relationships.
  • A csomópontok a táblázatok soraihoz vagy a JSON-dokumentumokhoz hasonlítanak.Nodes are similar to table rows or JSON documents.
  • A kapcsolatok épp olyan fontosak, mint a csomópontok, és a lekérdezési nyelvben közvetlenül megjelennek.Relationships are just as important as nodes, and are exposed directly in the query language.
  • Az összetett objektumokat (például egy több telefonszámmal rendelkező személy) a rendszer általában több kisebb csomópontra osztja szét, amelyeket bejárható kapcsolatok kötnek össze.Composite objects, such as a person with multiple phone numbers, tend to be broken into separate, smaller nodes, combined with traversable relationships

PéldákExamples

  • Szervezeti diagramokOrganization charts
  • Közösségi diagramokSocial graphs
  • Csalások észleléseFraud detection
  • Javaslati motorokRecommendation engines

AdatelemzésData analytics

Az adatelemzési tárolók nagymértékben párhuzamos megoldásokat biztosítanak az adatok betöltéséhez, tárolásához és elemzéséhez.Data analytics stores provide massively parallel solutions for ingesting, storing, and analyzing data. Az adatforgalom több kiszolgáló között oszlik meg a méretezhetőség maximalizálása érdekében.The data is distributed across multiple servers to maximize scalability. A nagyméretű adatfájl-formátumok, például a határolójelek (CSV), a parkettaés az ork széles körben használatosak az adatelemzés során.Large data file formats such as delimiter files (CSV), parquet, and ORC are widely used in data analytics. A korábbi adattárak általában olyan adattárakban tárolódnak, mint például a blob Storage vagy a Azure Data Lake Storage Gen2, amelyeket az Azure szinapszis, a Databricks vagy a HDInsight külső táblázatként érhet el.Historical data is typically stored in data stores such as blob storage or Azure Data Lake Storage Gen2, which are then accessed by Azure Synapse, Databricks, or HDInsight as external tables. A Parquet-fájlokként tárolt adatnak a teljesítményhez való felhasználásának tipikus forgatókönyve a következő témakörben található: külső táblák használata a szinapszis SQL-lel.A typical scenario using data stored as parquet files for performance, is described in the article Use external tables with Synapse SQL.

Azure-szolgáltatásokAzure services

Számítási feladatWorkload

  • AdatelemzésData analytics
  • Enterprise BIEnterprise BI

AdattípusData type

  • Több forrásból származó előzményadatok.Historical data from multiple sources.
  • Általában egy " csillag- " vagy hópehely-sémában denormalizált " " , amely valójában és dimenzió táblákat tartalmaz.Usually denormalized in a "star" or "snowflake" schema, consisting of fact and dimension tables.
  • Általában ütemezés szerint töltődik fel új adatokkal.Usually loaded with new data on a scheduled basis.
  • A dimenziótáblák gyakran egy entitás több korábbi verzióját is tartalmazzák, amit lassan változó dimenziónak nevezünk.Dimension tables often include multiple historic versions of an entity, referred to as a slowly changing dimension.

PéldákExamples

  • Vállalati adattárházEnterprise data warehouse

Oszlopcsalád-adatbázisokColumn-family databases

Az oszlopcsalád-adatbázisok sorokba és oszlopokba rendezik az adatokat.A column-family database organizes data into rows and columns. Legegyszerűbb formájában az oszlopcsalád-adatbázis a relációs adatbázishoz nagyon hasonlónak tűnhet, legalábbis a koncepciót tekintve.In its simplest form, a column-family database can appear very similar to a relational database, at least conceptually. Az oszlopcsalád-adatbázisok igazi előnye a ritka adatok strukturálásának denormalizált megközelítésében rejlik.The real power of a column-family database lies in its denormalized approach to structuring sparse data.

Az oszlopcsalád-adatbázisok felfoghatók úgy, mintha a sorokat és oszlopokat tartalmazó táblázatba foglalt adatokról lenne szó, azonban az oszlopok oszlopcsaládoknak nevezett csoportokra vannak felosztva.You can think of a column-family database as holding tabular data with rows and columns, but the columns are divided into groups known as column families. Minden oszlopcsalád olyan oszlopokból álló készletet tartalmaz, amelyek logikailag kapcsolódnak egymáshoz, és beolvasásuk vagy módosításuk általában egy egységként történik.Each column family holds a set of columns that are logically related together and are typically retrieved or manipulated as a unit. Az egyéb, külön elérhető adatok külön oszlopcsaládokban tárolhatók.Other data that is accessed separately can be stored in separate column families. Egy oszlopcsaládon belül az új oszlopok dinamikusan hozzáadhatók, a sorok pedig ritkák is lehetnek (ez azt jelenti, hogy a soroknak nem kell minden oszlophoz értéket tartalmazniuk).Within a column family, new columns can be added dynamically, and rows can be sparse (that is, a row doesn't need to have a value for every column).

Az alábbi ábrán látható példában két oszlopcsalád szerepel: Identity és Contact Info.The following diagram shows an example with two column families, Identity and Contact Info. Az egyetlen entitás adatai minden egyes oszlopcsaládban ugyanazt a sorkulcsot tartalmazzák.The data for a single entity has the same row key in each column-family. Ez a struktúra, amelyben az oszlopcsaládban szereplő egyes objektumokhoz tartozó sorok dinamikusan változhatnak, az oszlopcsalád-megközelítés egyik fontos előnye. Ezáltal ez az adattárolási forma kifejezetten alkalmas a strukturált, ideiglenes adatok tárolására.This structure, where the rows for any given object in a column family can vary dynamically, is an important benefit of the column-family approach, making this form of data store highly suited for storing structured, volatile data.

Oszlop – család adatbázis diagramja

A kulcs/érték tárolókkal vagy a dokumentum-adatbázisokkal ellentétben a legtöbb oszlopcsalád-adatbázis kulcs szerinti sorrendben tárolja az adatokat, nem pedig kivonatok számítása alapján.Unlike a key/value store or a document database, most column-family databases store data in key order, rather than by computing a hash. Számos megvalósítás esetén létrehozhat indexeket egy oszlopcsalád adott oszlopain.Many implementations allow you to create indexes over specific columns in a column-family. Az indexek révén az oszlop értéke szerint kérheti le az adatokat a sorkulcs helyett.Indexes let you retrieve data by columns value, rather than row key.

Az egy soron végrehajtott olvasási és írási műveletek általában atomi jellegűek egyetlen oszlopcsalád esetén, azonban egyes megvalósítások az egész, több oszlopcsaládon átívelő sorban biztosítják az atomitást.Read and write operations for a row are usually atomic with a single column-family, although some implementations provide atomicity across the entire row, spanning multiple column-families.

Azure-szolgáltatásokAzure services

Számítási feladatWorkload

  • A legtöbb oszlopcsalád-adatbázis rendkívül gyorsan hajtja végre az írási műveleteket.Most column-family databases perform write operations extremely quickly.
  • A frissítési és törlési műveletek ritkák.Update and delete operations are rare.
  • Nagy teljesítmény és kis késleltetésű hozzáférés biztosítására tervezték.Designed to provide high throughput and low-latency access.
  • Támogatja egy jóval nagyobb méretű rekordon belüli adott mezőkészletre irányuló egyszerű lekérdezési hozzáféréseket.Supports easy query access to a particular set of fields within a much larger record.
  • Nagy mértékben skálázható.Massively scalable.

AdattípusData type

  • Az adatok egy kulcsoszlopból és egy vagy több oszlopcsaládból álló táblákban tárolódnak.Data is stored in tables consisting of a key column and one or more column families.
  • Az adott oszlopok az egyes sorokban eltérőek lehetnek.Specific columns can vary by individual rows.
  • Az egyes cellák „get” és „put” parancsokkal érhetők el.Individual cells are accessed via get and put commands
  • Egy vizsgálat paranccsal több sort ad vissza.Multiple rows are returned using a scan command.

PéldákExamples

  • JavaslatokRecommendations
  • Személyre szabásPersonalization
  • Érzékelői adatokSensor data
  • TelemetriaTelemetry
  • ÜzenetkezelésMessaging
  • Közösségi médiaelemzésSocial media analytics
  • Webes elemzésWeb analytics
  • Tevékenység figyeléseActivity monitoring
  • Időjárási és egyéb idősorozat-adatokWeather and other time-series data

Keresőmotor-adatbázisokSearch Engine Databases

A keresőmotor-adatbázisok lehetővé teszik az alkalmazások számára a külső adattárakban tárolt információk keresését.A search engine database allows applications to search for information held in external data stores. A keresőmotor-adatbázisok nagy mennyiségű adattal is rendelkezhetnek, és közel valós idejű hozzáférést biztosítanak ezekhez az indexekhez.A search engine database can index massive volumes of data and provide near real-time access to these indexes.

Az indexek lehetnek többdimenziósak, és támogathatják a szabad szöveges keresést a nagy kötegekből álló szöveges adatok esetén.Indexes can be multi-dimensional and may support free-text searches across large volumes of text data. Az indexelés elvégezhető egy lekérési modell használatával, amelyet a keresőmotor-adatbázis aktivál, vagy egy leküldéses modell használatával, amely külső alkalmazáskóddal indítható.Indexing can be performed using a pull model, triggered by the search engine database, or using a push model, initiated by external application code.

A keresés lehet pontos vagy intelligens.Searching can be exact or fuzzy. Az intelligens keresés olyan dokumentumokat keres, amelyek megfelelnek egy adott feltételkészletnek, és az egyezés mértékét is kiszámítja.A fuzzy search finds documents that match a set of terms and calculates how closely they match. Néhány keresőmotor támogatja az olyan nyelvi elemzéseket is, amelyek szinonimák, kategóriakiterjesztések (például dogs megfeleltetése pets-nek), szótővizsgálat (azonos szótővel rendelkező szavak megfeleltetése) alapján adnak vissza találatokat.Some search engines also support linguistic analysis that can return matches based on synonyms, genre expansions (for example, matching dogs to pets), and stemming (matching words with the same root).

Azure-szolgáltatásAzure service

Számítási feladatWorkload

  • Az adatindexek több forrásból és szolgáltatásból származnak.Data indexes from multiple sources and services.
  • A lekérdezések ad-hoc jellegűek, és összetettek lehetnek.Queries are ad-hoc and can be complex.
  • Teljes szöveges keresést igényel.Full text search is required.
  • Ad-hoc jellegű önkiszolgáló lekérdezéseket igényel.Ad hoc self-service query is required.

AdattípusData type

  • Részben strukturált vagy strukturálatlan szövegSemi-structured or unstructured text
  • Strukturált adatokra hivatkozó szövegText with reference to structured data

PéldákExamples

  • TermékkatalógusokProduct catalogs
  • Keresés webhelyenSite search
  • NaplózásLogging

Idősorozat-adatbázisokTime series databases

Az idősorozat-adatok az értékek által rendezett halmazok.Time series data is a set of values organized by time. Az idősorozat-adatbázisok általában nagy mennyiségű adatot gyűjtenek valós időben nagy számú forrásból.Time series databases typically collect large amounts of data in real time from a large number of sources. A frissítések ritkák, a törlések pedig a legtöbbször tömeges műveletként történnek.Updates are rare, and deletes are often done as bulk operations. Annak ellenére, hogy az idősorozat-adatbázisokba írt rekordok mérete általában kicsi, gyakran előfordulnak nagy méretű rekordok, valamint az adatok összmérete is gyors ütemben növekedhet.Although the records written to a time-series database are generally small, there are often a large number of records, and total data size can grow rapidly.

Azure-szolgáltatásAzure service

Számítási feladatWorkload

  • A rekordok hozzáfűzése általában időrend szerint történik.Records are generally appended sequentially in time order.
  • A műveletek túlnyomó része (95-99%) írások.An overwhelming proportion of operations (95-99%) are writes.
  • A frissítések ritkák.Updates are rare.
  • A törlések tömegesen fordulnak elő, céljaik általában egybefüggő blokkok vagy rekordok.Deletes occur in bulk, and are made to contiguous blocks or records.
  • Az adatolvasás egymás után növekvő vagy csökkenő sorrendben történik, gyakran párhuzamosan.Data is read sequentially in either ascending or descending time order, often in parallel.

AdattípusData type

  • A rendszer időbélyeg-t használ elsődleges kulcsként és rendezési mechanizmusként.A timestamp is used as the primary key and sorting mechanism.
  • A címkék további információkat is meghatározhatnak a bejegyzés típusáról, eredetéről és egyéb adatairól.Tags may define additional information about the type, origin, and other information about the entry.

PéldákExamples

  • Monitorozás és eseménytelemetria.Monitoring and event telemetry.
  • Érzékelő- és egyéb IoT-adatok.Sensor or other IoT data.

Objektum tárterületeObject storage

Az objektumtároló nagy méretű bináris objektumok (képek, fájlok, video- és audiostreamek, nagy méretű alkalmazás-adatobjektumok és dokumentumok, virtuális gépek lemezképei) tárolására van optimalizálva.Object storage is optimized for storing and retrieving large binary objects (images, files, video and audio streams, large application data objects and documents, virtual machine disk images). Ebben a modellben a nagyméretű adatfájlok is népszerűek, például a határoló fájl (CSV), a parkettaés az ork.Large data files are also popularly used in this model, for example, delimiter file (CSV), parquet, and ORC. Az objektumok tárolói rendkívül nagy mennyiségű strukturálatlan adat kezelésére képesek.Object stores can manage extremely large amounts of unstructured data.

Azure-szolgáltatásAzure service

Számítási feladatWorkload

  • Kulcs azonosítja.Identified by key.
  • A tartalom jellemzően egy adategység, például egy elválasztó, egy képfájl vagy egy videofájl.Content is typically an asset such as a delimiter, image, or video file.
  • A tartalomnak minden alkalmazási szinten tartósnak és külsőnek kell lennie.Content must be durable and external to any application tier.

AdattípusData type

  • Az adatok mérete nagy.Data size is large.
  • Az érték nem átlátszó.Value is opaque.

PéldákExamples

  • Képek, videók, Office-dokumentumok, PDF-fájlokImages, videos, office documents, PDFs
  • Statikus HTML, JSON, CSSStatic HTML, JSON, CSS
  • Napló- és vizsgálati fájlokLog and audit files
  • Adatbázisok biztonsági mentéseDatabase backups

Megosztott fájlokShared files

Időnként az egyszerű, egybesimított fájlok használata az információk tárolásának és lekérésének leghatékonyabb módja.Sometimes, using simple flat files can be the most effective means of storing and retrieving information. A fájlmegosztások használatával a fájlok egy egész hálózaton elérhetők.Using file shares enables files to be accessed across a network. A megfelelő biztonsági és egyidejű hozzáférési vezérlőmechanizmusok jelenlétében az adatok ilyen módon történő megosztása révén a megosztott szolgáltatások nagymértékben skálázható adathozzáférést biztosíthatnak az alapvető, alacsony szintű műveletek (például egyszerű olvasási és írási kérések) végrehajtásához.Given appropriate security and concurrent access control mechanisms, sharing data in this way can enable distributed services to provide highly scalable data access for performing basic, low-level operations such as simple read and write requests.

Azure-szolgáltatásAzure service

Számítási feladatWorkload

  • Áttelepítés meglévő alkalmazásokból, amelyek kommunikálnak a fájlrendszerrel.Migration from existing apps that interact with the file system.
  • SMB-kapcsolatot igényel.Requires SMB interface.

AdattípusData type

  • Egy hierarchikus mappakészlet fájljai.Files in a hierarchical set of folders.
  • Szabványos I/O-kódtárakkal elérhető.Accessible with standard I/O libraries.

PéldákExamples

  • Örökölt fájlokLegacy files
  • A megosztott tartalom bizonyos számú virtuális gép vagy alkalmazáspéldány számára elérhetőShared content accessible among a number of VMs or app instances

Ezzel a különböző adattárolási modellek ismeretében a következő lépés a számítási feladatok és alkalmazások kiértékelése, valamint annak eldöntése, hogy melyik adattár felel meg az adott igényeknek.Aided with this understanding of different data storage models, the next step is to evaluate your workload and application, and decide which data store will meet your specific needs. Az adattároló döntési fájával segítheti a folyamatot.Use the data storage decision tree to help with this process.