Çevrimiçi analitik işlem (OLAP)Online analytical processing (OLAP)

Çevrimiçi analitik işlem (OLAP) büyük işletme veritabanlarını düzenler ve karmaşık bir analiz destekleyen bir teknolojidir.Online analytical processing (OLAP) is a technology that organizes large business databases and supports complex analysis. İşlem sistemleri olumsuz etkilemeden karmaşık analitik sorguları gerçekleştirmek için kullanılabilir.It can be used to perform complex analytical queries without negatively affecting transactional systems.

Tüm işlemleri depolamak için bir iş kullanır ve kayıtları çağrılır veritabanlarını çevrimiçi işlem gerçekleştirme (OLTP) veritabanları.The databases that a business uses to store all its transactions and records are called online transaction processing (OLTP) databases. Bu veritabanları genellikle girilen birer birer kayıtları sahiptir.These databases usually have records that are entered one at a time. Genellikle büyük ölçüde kuruluşa değerli bilgileri içerir.Often they contain a great deal of information that is valuable to the organization. Ancak, OLTP için kullanılan veritabanları çözümleme için tasarlanmamıştır.The databases that are used for OLTP, however, were not designed for analysis. Bu nedenle, yanıtları bu veritabanlarından almak zaman ve emek açısından maliyetlidir.Therefore, retrieving answers from these databases is costly in terms of time and effort. OLAP sistemleri bu iş zekası bilgilerinin yüksek performanslı verilerden ayıklanmasına yardımcı olmak için tasarlanmış yolu.OLAP systems were designed to help extract this business intelligence information from the data in a highly performant way. OLAP veritabanları ağır okuma, düşük yazma iş yükleri için optimize edilmiş olmasıdır.This is because OLAP databases are optimized for heavy read, low write workloads.

Azure'da OLAP

Anlam modellemeSemantic modeling

Semantik veri modelini içerdiği veri öğelerini anlamını açıklayan kavramsal bir modeldir.A semantic data model is a conceptual model that describes the meaning of the data elements it contains. Kuruluşlar genellikle kendi eş anlamlı sözcükler veya hatta farklı anlamları ile bazen bir şeyi aynı dönem sahip.Organizations often have their own terms for things, sometimes with synonyms, or even different meanings for the same term. Örneğin, bir envanteri veritabanı bir varlık kimliği ve bir seri numarası donanım parçası izleyebilir, ancak seri numarası varlık kimliği için satış veritabanına başvurabilirFor example, an inventory database might track a piece of equipment with an asset ID and a serial number, but a sales database might refer to the serial number as the asset ID. Bu değerleri ilişkiyi tanımlayan bir model olmadan ilişkilendirmek için basit bir yolu yoktur.There is no simple way to relate these values without a model that describes the relationship.

Anlam modelleme, bir soyutlama düzeyinde veritabanı şema üzerinde sağlar, böylece kullanıcılar, temel alınan veri yapılarını bilmeniz gerekmez.Semantic modeling provides a level of abstraction over the database schema, so that users don't need to know the underlying data structures. Bu, son kullanıcılar için verileri sorgulamak toplamlar ve birleşimler arka plandaki şema yapmadan kolaylaştırır.This makes it easier for end users to query data without performing aggregates and joins over the underlying schema. Verilerin anlamı ve bağlamını daha belirgin olacak şekilde de, genellikle sütunları daha kolay adlar için yeniden adlandırılır.Also, usually columns are renamed to more user-friendly names, so that the context and meaning of the data are more obvious.

Anlam modelleme, analiz ve iş zekası (OLAP) gibi okuma yoğun senaryolar için kullanılan çoğunlukla daha fazla yazma yoğunluklu işlem tabanlı veri işleme aksine (OLTP) ' dir.Semantic modeling is predominately used for read-heavy scenarios, such as analytics and business intelligence (OLAP), as opposed to more write-heavy transactional data processing (OLTP). Bu, çoğunlukla tipik bir anlam katman yapısı nedeniyle oluşur:This is mostly due to the nature of a typical semantic layer:

  • Raporlama araçları bunları düzgün bir şekilde görüntülemek, toplama davranışları ayarlanır.Aggregation behaviors are set so that reporting tools display them properly.
  • İş mantığı ve hesaplamalar tanımlanır.Business logic and calculations are defined.
  • Zaman tabanlı hesaplamalar dahil edilir.Time-oriented calculations are included.
  • Veri, genellikle birden fazla kaynaktan tümleşiktir.Data is often integrated from multiple sources.

Geleneksel olarak, anlam katman Bu nedenlerden dolayı bir veri ambarı yerleştirilir.Traditionally, the semantic layer is placed over a data warehouse for these reasons.

Örnek bir veri ambarı ve Raporlama Aracı arasındaki anlamsal bir katman diyagramı

Semantik modellerin birincil iki tür vardır:There are two primary types of semantic models:

  • Tablo.Tabular. İlişkisel model yapıları (model, tablo, sütun) kullanır.Uses relational modeling constructs (model, tables, columns). Dahili olarak, meta veri yapıları (küp boyutları, ölçüler) modelleme OLAP devralınır.Internally, metadata is inherited from OLAP modeling constructs (cubes, dimensions, measures). Kod ve betik OLAP meta verileri kullanın.Code and script use OLAP metadata.
  • Çok boyutlu.Multidimensional. Yapılar (küp boyutları, ölçüler) modelleme geleneksel OLAP kullanır.Uses traditional OLAP modeling constructs (cubes, dimensions, measures).

İlgili Azure hizmeti:Relevant Azure service:

Örnek Kullanım örneğiExample use case

Bir kuruluş büyük bir veritabanında depolanan veriler var.An organization has data stored in a large database. Bu verileri kendi raporlarını oluşturma ve bazı analizlerini İşletme kullanıcıları ve müşteriler için kullanılabilir hale getirmek istiyor.It wants to make this data available to business users and customers to create their own reports and do some analysis. Bir seçenek, yalnızca söz konusu kullanıcıların doğrudan veritabanına erişmesini sağlamaktır.One option is just to give those users direct access to the database. Ancak, bunu yapmaya güvenlik yönetimi ve erişimi denetlemek de dahil olmak üzere çeşitli dezavantajları vardır.However, there are several drawbacks to doing this, including managing security and controlling access. Ayrıca, tabloları ve sütun adları da dahil olmak üzere, veritabanı tasarımı anlamak bir kullanıcı için zor olabilir.Also, the design of the database, including the names of tables and columns, may be hard for a user to understand. Kullanıcılar bu tablolar katılması gereken nasıl, sorgulamak için tablo ve doğru sonuçları elde etmek için uygulanması gereken diğer iş mantığı bilmesi gerekir.Users would need to know which tables to query, how those tables should be joined, and other business logic that must be applied to get the correct results. Kullanıcılar ayrıca bile kullanmaya başlamak için SQL gibi bir sorgu dili bilmeniz gerekir.Users would also need to know a query language like SQL even to get started. Bu genellikle birden çok kullanıcı aynı ölçümleri raporlama ancak farklı sonuçlar doğurur.Typically this leads to multiple users reporting the same metrics but with different results.

Tüm kullanıcıların bir anlam modeline gereken bilgileri yalıtan başka bir seçenektir.Another option is to encapsulate all of the information that users need into a semantic model. Anlam modeli daha kolay bir raporlama aracına kendi seçtikleri olan kullanıcılar tarafından sorgulanabilir.The semantic model can be more easily queried by users with a reporting tool of their choice. Anlam modeli tarafından sağlanan verileri tüm kullanıcılar için tek bir basit sürüme gördüğünüzü sağlayarak bir veri ambarından çekilir.The data provided by the semantic model is pulled from a data warehouse, ensuring that all users see a single version of the truth. Anlam modeli kolay tablo ve sütun adları, tablolar, açıklamaları, hesaplamaları ve satır düzeyi güvenlik ilişkilerini de sağlar.The semantic model also provides friendly table and column names, relationships between tables, descriptions, calculations, and row-level security.

Anlam modelleme, tipik niteliklerTypical traits of semantic modeling

Anlam modelleme ve analitik işleme eğilimlidir aşağıdaki özellikleri sağlamak için:Semantic modeling and analytical processing tends to have the following traits:

GereksinimRequirement AçıklamaDescription
ŞemaSchema Yazma, kesin zorlanan şemasıSchema on write, strongly enforced
İşlemleri kullanırUses Transactions HayırNo
Kilitleme stratejisiLocking Strategy NoneNone
GüncelleştirilebilirUpdateable Hayır (genellikle küp yeniden hesaplanıyor gerektirir)No (typically requires recomputing cube)
EklenebilirAppendable Hayır (genellikle küp yeniden hesaplanıyor gerektirir)No (typically requires recomputing cube)
İş yüküWorkload Salt okunur ağır okurHeavy reads, read-only
DizinlemeIndexing Çok boyutlu dizin oluşturmaMultidimensional indexing
Veri boyutuDatum size Küçük ve orta boyutluSmall to medium sized
ModelModel Çok boyutluMultidimensional
Veri şekli:Data shape: Küp veya yıldız/snowflake şemasıCube or star/snowflake schema
Sorgu esneklikQuery flexibility Son derece esnekHighly flexible
Ölçek:Scale: Büyük (10s-100'lük bloklar GB)Large (10s-100s GBs)

Bu çözümü kullanmak ne zamanWhen to use this solution

OLAP aşağıdaki senaryolarda göz önünde bulundurun:Consider OLAP in the following scenarios:

  • OLTP sistemlerinizi olumsuz etkilemeden hızlı bir şekilde, karmaşık analiz ve geçici sorguları yürütmek gerekir.You need to execute complex analytical and ad hoc queries rapidly, without negatively affecting your OLTP systems.
  • İş kullanıcıları verilerinizden raporlar oluşturmak için basit bir yol sağlamak istiyorsanızYou want to provide business users with a simple way to generate reports from your data
  • Hızlı, tutarlı sonuçlar almasını sağlayan toplamaları sayısı sunmak istiyorsunuz.You want to provide a number of aggregations that will allow users to get fast, consistent results.

OLAP büyük miktarlarda veri toplama hesaplamalar uygulamak için özellikle yararlıdır.OLAP is especially useful for applying aggregate calculations over large amounts of data. OLAP sistemlerinde, analiz ve iş zekası gibi okuma yoğun senaryolar için iyileştirilmiştir.OLAP systems are optimized for read-heavy scenarios, such as analytics and business intelligence. OLAP çok boyutlu verilerin kullanıcıların iki boyutlu (örneğin, bir Özet Tablosu) görüntülenebilir veya verileri belirli değerlere göre filtre dilimleri içine sağlar.OLAP allows users to segment multi-dimensional data into slices that can be viewed in two dimensions (such as a pivot table) or filter the data by specific values. Bu işlem bazen "dilimleme ve ayrıntılı olarak incelemenin" adı verilir verileri ve birkaç veri kaynaklarında veri olup olmadığını bölümlenen bakılmaksızın yapılabilir.This process is sometimes called "slicing and dicing" the data, and can be done regardless of whether the data is partitioned across several data sources. Bu, eğilimler ve desenleri, bulmak ve geleneksel veri analizi ayrıntılarını bilmek zorunda kalmadan verileri araştırmak için kullanıcılara yardımcı olur.This helps users to find trends, spot patterns, and explore the data without having to know the details of traditional data analysis.

Anlam modelleri'ne verileri hızlı bir şekilde analiz daha kolay hale getirmek ve ilişki karmaşıklıkları giderebilecek iş kullanıcılarına yardımcı olabilir.Semantic models can help business users abstract relationship complexities and make it easier to analyze data quickly.

ZorluklarChallenges

Tüm OLAP sistemlerinde yararlar sağlar, bunlar bazı zorluklar oluşturur:For all the benefits OLAP systems provide, they do produce a few challenges:

  • OLTP sistemlerindeki veriler çeşitli kaynaklardan içeriye işlemleri aracılığıyla sürekli olarak güncelleştirilir ancak OLAP veri depoları genellikle daha yavaş aralıklarla, iş gereksinimlerinize bağlı olarak yenilenir.Whereas data in OLTP systems is constantly updated through transactions flowing in from various sources, OLAP data stores are typically refreshed at a much slower intervals, depending on business needs. Başka bir deyişle, OLAP sistemlerinde değişiklikleri anında yanıt yerine stratejik iş kararları için daha uygundur.This means OLAP systems are better suited for strategic business decisions, rather than immediate responses to changes. Ayrıca, belirli bir düzeyde veri temizleme ve orchestration OLAP veri depoları güncel tutmak için planlanması gerekir.Also, some level of data cleansing and orchestration needs to be planned to keep the OLAP data stores up-to-date.
  • OLTP sistemleri Geleneksel, normalleştirilmiş, ilişkisel tablo bulunamadı, OLAP veri modelleri, çok boyutlu olma eğilimindedir.Unlike traditional, normalized, relational tables found in OLTP systems, OLAP data models tend to be multidimensional. Bu, zor veya imkansız doğrudan varlık ilişkisi veya nesne yönelimli modelleri, burada her bir öznitelik bir sütuna eşlendi eşlemek kolaylaştırır.This makes it difficult or impossible to directly map to entity-relationship or object-oriented models, where each attribute is mapped to one column. Bunun yerine, OLAP sistemlerinde genellikle geleneksel normalleştirme yerine bir yıldız veya snowflake şema kullanın.Instead, OLAP systems typically use a star or snowflake schema in place of traditional normalization.

Azure'da OLAPOLAP in Azure

Azure'da veri tutulan OLTP sistemleri gibi Azure SQL veritabanı gibi OLAP sisteme kopyalanır Azure Analysis Services.In Azure, data held in OLTP systems such as Azure SQL Database is copied into the OLAP system, such as Azure Analysis Services. Gibi veri keşfi ve görselleştirme Araçları Power BI, Excel ve üçüncü taraf seçenekleri Analysis Services sunucularına bağlanmak ve kullanıcılara Modellenen veri üst düzeyde etkileşimli ve görsel açıdan zengin Öngörüler sağlar.Data exploration and visualization tools like Power BI, Excel, and third-party options connect to Analysis Services servers and provide users with highly interactive and visually rich insights into the modeled data. OLTP verilerden OLAP veri akışını kullanarak çalıştırılan SQL Server Integration Services kullanarak genellikle düzenlenen Azure Data Factory.The flow of data from OLTP data to OLAP is typically orchestrated using SQL Server Integration Services, which can be executed using Azure Data Factory.

Azure'da aşağıdaki veri depolarını tüm OLAP için temel gereksinimleri karşılar:In Azure, all of the following data stores will meet the core requirements for OLAP:

SQL Server Analysis Services (SSAS), OLAP ve iş zekası uygulamaları için veri araştırma işlevi sunar.SQL Server Analysis Services (SSAS) offers OLAP and data mining functionality for business intelligence applications. SSAS yerel sunucularına yükleyin veya azure'daki bir sanal makine içinde barındırmak.You can either install SSAS on local servers, or host within a virtual machine in Azure. Azure Analysis Services, SSAS ile aynı ana özellikleri sağlayan tam olarak yönetilen bir hizmettir.Azure Analysis Services is a fully managed service that provides the same major features as SSAS. Azure Analysis Services destekler bağlanma çeşitli veri kaynakları bulutta ve şirket içi kuruluşunuzdaki.Azure Analysis Services supports connecting to various data sources in the cloud and on-premises in your organization.

Kümelenmiş Columnstore dizinleri, SQL Server 2014 ve üzeri sürümlerde, Azure SQL veritabanı hem de kullanılabilir ve OLAP iş yükleri için idealdir.Clustered Columnstore indexes are available in SQL Server 2014 and above, as well as Azure SQL Database, and are ideal for OLAP workloads. Ancak, SQL Server 2016 (Azure SQL veritabanı dahil) ile başlayarak, karma işlemsel / (HTAP) kullanılarak güncelleştirilebilir kümelenmemiş columnstore dizinleri analitik işleme avantajlarından yararlanabilirsiniz.However, beginning with SQL Server 2016 (including Azure SQL Database), you can take advantage of hybrid transactional/analytics processing (HTAP) through the use of updateable nonclustered columnstore indexes. HTAP OLTP ve OLAP verilerinizin birden çok kopyasını saklamak için ihtiyacını ortadan kaldırır ve ayrı OLTP ve OLAP sistemlerinde ihtiyacını ortadan kaldırır, aynı platform üzerinde işlem yapmanıza olanak sağlar.HTAP enables you to perform OLTP and OLAP processing on the same platform, which removes the need to store multiple copies of your data, and eliminates the need for distinct OLTP and OLAP systems. Daha fazla bilgi için Columnstore ile gerçek zamanlı işlem analizi için başlama.For more information, see Get started with Columnstore for real-time operational analytics.

Temel seçim ölçütlerineKey selection criteria

Seçimleri daraltmak için bu soruyu yanıtlayarak başlatın:To narrow the choices, start by answering these questions:

  • Kendi sunucularınızı yönetmek yerine yönetilen bir hizmet istiyor musunuz?Do you want a managed service rather than managing your own servers?

  • Azure Active Directory (Azure AD) kullanarak güvenli kimlik doğrulaması gerektiriyor mu?Do you require secure authentication using Azure Active Directory (Azure AD)?

  • Gerçek zamanlı analiz gerçekleştirmek istiyor musunuz?Do you want to conduct real-time analytics? Bu durumda, gerçek zamanlı analiz destekleyen kişilere seçeneklerinizi daraltın.If so, narrow your options to those that support real-time analytics.

    Gerçek zamanlı analiz bu bağlamda bir kurumsal kaynak planlaması bir işletimsel ve bir analizi iş yükü çalıştıran (ERP) uygulamasıyla gibi bir tek veri kaynağı için geçerlidir.Real-time analytics in this context applies to a single data source, such as an enterprise resource planning (ERP) application, that will run both an operational and an analytics workload. Birden çok kaynaktan veri tümleştirme ve küpleri gibi önceden toplanan verileri kullanarak Analiz aşırı performansına gerek gerekiyorsa ayrı veri ambarı yine de gerektirebilir.If you need to integrate data from multiple sources, or require extreme analytics performance by using pre-aggregated data such as cubes, you might still require a separate data warehouse.

  • Örneğin analiz daha fazla iş kullanıcısı kolay hale getirmek anlam modelleri'ne sağlamak önceden toplanan verileri gerekiyor mu?Do you need to use pre-aggregated data, for example to provide semantic models that make analytics more business user friendly? Evet, çok boyutlu küpler veya sekmeli semantik modellerin destekleyen bir seçeneği belirleyin.If yes, choose an option that supports multidimensional cubes or tabular semantic models.

    Toplamlar sağlayarak kullanıcılara tutarlı bir şekilde veri toplamları hesaplamak yardımcı olabilir.Providing aggregates can help users consistently calculate data aggregates. Önceden toplanmış veri, ayrıca birçok sütun ile çok sayıda satır ilgilenirken büyük performans artışı sağlayabilir.Pre-aggregated data can also provide a large performance boost when dealing with several columns across many rows. Veriler çok boyutlu küpler veya sekmeli semantik modellerin önceden toplanmış olabilir.Data can be pre-aggregated in multidimensional cubes or tabular semantic models.

  • OLTP data store ötesinde, çeşitli kaynaklardan verileri tümleştirmek ihtiyacınız var?Do you need to integrate data from several sources, beyond your OLTP data store? Bu durumda, birden çok veri kaynaklarını kolayca tümleştirme seçeneklerini göz önünde bulundurun.If so, consider options that easily integrate multiple data sources.

Özellik MatrisiCapability matrix

Aşağıdaki tablolarda, Özellikler'deki temel farklılıklar özetlenmektedir.The following tables summarize the key differences in capabilities.

Genel özellikleriGeneral capabilities

Azure Analysis ServicesAzure Analysis Services SQL Server Analysis ServicesSQL Server Analysis Services SQL Server Columnstore dizinleri ileSQL Server with Columnstore Indexes Columnstore dizinleri ile Azure SQL veritabanıAzure SQL Database with Columnstore Indexes
Olan yönetilen hizmetIs managed service EvetYes HayırNo HayırNo EvetYes
Çok boyutlu küpler desteklerSupports multidimensional cubes HayırNo EvetYes HayırNo HayırNo
Anlam tablosal modelleri desteklerSupports tabular semantic models EvetYes EvetYes HayırNo HayırNo
Birden çok veri kaynaklarını kolayca tümleştirinEasily integrate multiple data sources EvetYes EvetYes Hayır 1No 1 Hayır 1No 1
Gerçek zamanlı analiz desteklerSupports real-time analytics HayırNo HayırNo EvetYes EvetYes
Veri Kaynakları ' kopyalama işlemi gerektirirRequires process to copy data from source(s) EvetYes EvetYes HayırNo HayırNo
Azure AD tümleştirmesiAzure AD integration EvetYes HayırNo Hayır 2No 2 EvetYes

[1] SQL Server ve Azure SQL veritabanı, sorgu ve birden çok dış veri kaynaklarına tümleştirmek için kullanılamaz ancak yine de kullanılarak sizin için yapan bir işlem hattı oluşturabilir SSIS veya Azure Data Factory.[1] Although SQL Server and Azure SQL Database cannot be used to query from and integrate multiple external data sources, you can still build a pipeline that does this for you using SSIS or Azure Data Factory. Bir Azure VM'de SQL Server bağlı sunucular gibi ek seçeneklere sahip ve PolyBase.SQL Server hosted in an Azure VM has additional options, such as linked servers and PolyBase. Daha fazla bilgi için düzenleme, denetim akışı ve veri taşıma işlem hattı.For more information, see Pipeline orchestration, control flow, and data movement.

[2] bağlanmak için bir Azure sanal makinesinde çalışan SQL Server, Azure AD hesabı kullanılması desteklenmiyor.[2] Connecting to SQL Server running on an Azure Virtual Machine is not supported using an Azure AD account. Bunun yerine bir etki alanı Active Directory hesabı kullanın.Use a domain Active Directory account instead.

Ölçeklenebilirliği özellikleriScalability Capabilities

Azure Analysis ServicesAzure Analysis Services SQL Server Analysis ServicesSQL Server Analysis Services SQL Server Columnstore dizinleri ileSQL Server with Columnstore Indexes Columnstore dizinleri ile Azure SQL veritabanıAzure SQL Database with Columnstore Indexes
Yüksek kullanılabilirlik için bölgesel olarak yedekli sunucularRedundant regional servers for high availability EvetYes HayırNo EvetYes EvetYes
Desteklediği sorgu ölçeği genişletmeSupports query scale out EvetYes HayırNo EvetYes HayırNo
Dinamik ölçeklenebilirlik (büyütme)Dynamic scalability (scale up) EvetYes HayırNo EvetYes HayırNo