Power BI Desktop’ta depolama modunu yönetmeManage storage mode in Power BI Desktop

Microsoft Power BI Desktop'ta tabloların depolama modunu belirtebilirsiniz.In Microsoft Power BI Desktop, you can specify the storage mode of a table. Depolama modu, Power BI Desktop'ta raporlara ilişkin tablo verilerinin bellek içinde önbelleğe alınıp alınmadığını denetlemenizi sağlar.The storage mode lets you control whether Power BI Desktop caches table data in-memory for reports.

Depolama modunun ayarlanması birçok avantaj sağlar.Setting the storage mode provides many advantages. Modelinizdeki her tablonun depolama modunu ayrı ayrı ayarlayabilirsiniz.You can set the storage mode for each table individually in your model. Bu eylem aşağıdaki avantajları sunan tek bir veri kümesine sahip olmanızı sağlar:This action enables a single dataset, which provides the following benefits:

  • Sorgu performansı: Kullanıcılar Power BI raporlarındaki görsellerle etkileşimli çalışırken, veri kümesine Veri Çözümleme İfadeleri (DAX) sorguları gönderilir.Query performance: As users interact with visuals in Power BI reports, Data Analysis Expressions (DAX) queries are submitted to the dataset. Depolama modunu düzgün ayarlayarak verileri önbelleğe almak sorgu performansını ve raporlarınızın etkileşimini artırabilir.Caching data into memory by properly setting the storage mode can boost the query performance and interactivity of your reports.

  • Büyük veri kümeleri: Önbelleğe alınmamış tablolar, önbelleğe alma amacıyla bellek kullanmaz.Large datasets: Tables that aren't cached don't consume memory for caching purposes. Tümüyle önbelleğe alınamayacak kadar büyük olan veya bunu çok pahalıya çıkacağı büyük veri kümelerinde etkileşimli analizi etkinleştirebilirsiniz.You can enable interactive analysis over large datasets that are too large or expensive to completely cache into memory. Hangi tabloların önbelleğe alınmaya değeceğini, hangilerinin değmeyeceğini seçebilirsiniz.You can choose which tables are worth caching, and which aren't.

  • Veri yenilemeyi en iyi duruma getirme: Önbelleğe alınmayan tabloların yenilenmesi gerekmez.Data refresh optimization: You don't need to refresh tables that aren't cached. Hizmet düzeyi anlaşmalarınıza ve iş gereksinimlerinize uygun olarak, yalnızca gerekli olan verileri önbelleğe alıp yenileme sürelerini kısaltabilirsiniz.You can reduce refresh times by caching only the data that's necessary to meet your service level agreements and your business requirements.

  • Neredeyse gerçek zamanlı olma gereksinimleri: Neredeyse gerçek zamanlı olma gereksinimleri olan tablolar, veri gecikme sürelerini kısaltmak için önbelleğe almama yönteminden yararlanabilir.Near-real time requirements: Tables with near-real time requirements might benefit from not being cached, to reduce data latency.

  • Geri yazma: Geri yazma, işletme kullanıcılarının hücre değerlerini değiştirerek durum değerlendirmesi senaryolarını incelemesine olanak tanır.Writeback: Writeback enables business users to explore what-if scenarios by changing cell values. Özel uygulamalar, veri kaynağına değişiklikleri uygulayabilir.Custom applications can apply changes to the data source. Önbelleğe alınmayan tablolar değişiklikleri hemen görüntülediğinden etkilerin anlık analizleri yapılabilir.Tables that aren't cached can display changes immediately, which allows instant analysis of the effects.

Power BI Desktop'taki depolama modu ayarı, birbiriyle ilişkili üç özellikten biridir:The storage mode setting in Power BI Desktop is one of three related features:

  • Bileşik modeller: Raporda DirectQuery bağlantıları ve içeri aktarma da dahil olmak üzere herhangi bir birleşimde iki veya daha fazla veri bağlantısına izin verir.Composite models: Allows a report to have two or more data connections, including DirectQuery connections or Import, in any combination. Daha fazla bilgi için bkz. Power BI Desktop’ta bileşik modelleri kullanma.For more information, see Use composite models in Power BI Desktop.

  • Çoka çok ilişkiler: Bileşik modeller sayesinde tablolar arasında çoka-çok ilişkiler kurabilirsiniz.Many-to-many relationships: With composite models, you can establish many-to-many relationships between tables. Çoka çok ilişkilerde tablolardaki benzersiz değer gereksinimleri ortadan kaldırılır.In a many-to-many relationship, requirements are removed for unique values in tables. Ayrıca yalnızca ilişki kurmak için yeni tablo eklenmesi gibi eski geçici çözümleri de devre dışı bırakır.It also removes prior workarounds, such as introducing new tables only to establish relationships. Daha fazla bilgi için bkz. Power BI Desktop’ta çok-çok ilişkiler.For more information, see Many-to-many relationships in Power BI Desktop.

  • Depolama modu: Depolama modu ile artık arka uç veri kaynaklarını sorgulaması gereken görselleri belirtebilirsiniz.Storage mode: With storage mode, you can now specify which visuals require a query to back-end data sources. Sorgu gerektirmeye görseller DirectQuery tabanlı olsa dahi içeri aktarılmaz.Visuals that don't require a query are imported even if they're based on DirectQuery. Bu özellik, performansı artırmanıza ve arka uç yükünü azaltmanıza yardımcı olur.This feature helps improve performance and reduce back-end load. Daha önce, sorguları başlatan dilimleyiciler gibi basit görseller bile arka uç kaynaklara gönderiliyordu.Previously, even simple visuals, such as slicers, initiated queries that were sent to back-end sources.

Depolama modu özelliğini kullanmaUse the Storage mode property

Depolama modu özelliği, modelinizdeki her bir tablo için ayrıca ayarlayabileceğiniz ve Power BI'ın tablo verilerini önbelleğe alma şeklini denetleyen bir özelliktir.The Storage mode property is a property that you can set on each table in your model and controls how Power BI caches the table data.

Depolama modu özelliğini ayarlamak veya geçerli ayarını görüntülemek için:To set the Storage mode property, or view its current setting:

  1. Model görünümünde özelliklerini görüntülemek veya ayarlamak istediğiniz tabloyu seçin.in Model view, select the table whose properties you want to view or set.

  2. Özellikler bölmesinde Gelişmiş bölümünü ve ardından Depolama modu açılan menüsünü genişletin.In the Properties pane, expand the Advanced section, and expand the Storage mode drop-down.

    Depolama modu özelliğini seçme

Depolama modu özelliği için üç farklı değer belirleyebilirsiniz:You set the Storage mode property to one of these three values:

  • İçeri Aktarma: Bu ayara sahip olan içeri aktarılan tablolar önbelleğe alınır.Import: Imported tables with this setting are cached. Power BI veri kümesine gönderilen ve İçeri Aktarma tablolarından veri döndüren sorgular, yalnızca önbelleğe alınmış verilerle yanıtlanır.Queries submitted to the Power BI dataset that return data from Import tables can be fulfilled only from cached data.

  • DirectQuery: Bu ayara sahip olan tablolar önbelleğe alınmaz.DirectQuery: Tables with this setting aren't cached. DAX sorguları gibi Power BI veri kümesine gönderdiğiniz ve DirectQuery tablolarından veri döndüren sorgular yalnızca veri kaynağında isteğe bağlı sorgular yürütülerek yanıtlanır.Queries that you submit to the Power BI dataset—for example, DAX queries—and that return data from DirectQuery tables can be fulfilled only by executing on-demand queries to the data source. Veri kaynağına gönderdiğiniz sorgular, o veri kaynağına ilişkin sorgu dilini (örneğin, SQL) kullanır.Queries that you submit to the data source use the query language for that data source, for example, SQL.

  • İkili: Bu ayara sahip olan tablolar, Power BI veri kümesine gönderilen sorguların bağlamına göre önbelleğe alınmış veya alınmamış gibi davranabilir.Dual: Tables with this setting can act as either cached or not cached, depending on the context of the query that's submitted to the Power BI dataset. Bazı durumlarda sorguları önbelleğe alınmış verilerden yanıtlarsınız.In some cases, you fulfill queries from cached data. Diğer durumlarda sorguları veri kaynağında isteğe bağlı sorgu yürüterek yanıtlarsınız.In other cases, you fulfill queries by executing an on-demand query to the data source.

Bir tablonun Depolama modu ayarını İçeri Aktarma olarak değiştirme işlemi geri alınamaz.Changing the Storage mode of a table to Import is an irreversible operation. Bu özellik ayarlandıktan sonra DirectQuery veya İkili olarak değiştirilemez.Once set, this property can't later be changed to either DirectQuery or Dual.

Not

Power BI Desktop'ta ve Power BI hizmetinde İkili depolama modunu kullanabilirsiniz.You can use Dual storage mode in both Power BI Desktop and the Power BI service.

DirectQuery ve İkili tabloların kısıtlamalarıConstraints on DirectQuery and Dual tables

İkili tablolar, DirectQuery tablolarıyla aynı işlevsel kısıtlamalara sahiptir.Dual tables have the same functional constraints as DirectQuery tables. Bu kısıtlamalar, sınırlı M dönüştürmeleri ve hesaplanan sütunlarda kısıtlanmış DAX işlevleridir.These constraints include limited M transformations and restricted DAX functions in calculated columns. Daha fazla bilgi için bkz. DirectQuery kullanmanın etkileri.For more information, see Implications of using DirectQuery.

İkili ayarının yayılmasıPropagation of the Dual setting

Tüm tabloların İçeri Aktar ve DirectQuery desteği olan tek kaynaktan geldiği aşağıdaki basit modeli düşünün.Consider the following simple model, where all the tables are from a single source that supports Import and DirectQuery.

Depolama modu için örnek İlişki görünümü

Bu modeldeki tüm tabloların başlangıç ayarının DirectQuery olduğunu düşünelim.Let’s say all tables in this model are initially set to DirectQuery. SurveyResponse tablosunun Depolama modu ayarını İçeri Aktarma olarak değiştirdiğinizde aşağıdaki uyarı penceresi görüntülenir:If you then change the Storage mode of the SurveyResponse table to Import, the following warning window is displayed:

Depolama modu uyarı penceresi

Boyut tablolarını (Customer, Geography ve Date), veri kümesindeki sınırlı ilişki sayısını azaltmak ve performansı artırmak için İkili olarak ayarlayabilirsiniz.You can set the dimension tables (Customer, Geography, and Date) to Dual to reduce the number of limited relationships in the dataset, and improve performance. Sınırlı ilişkiler normalde kaynak sistemlere birleştirme mantığının gönderilemediği en az bir DirectQuery tablosu içerir.Limited relationships normally involve at least one DirectQuery table where join logic can't be pushed to the source systems. İkili tablolar, DirectQuery veya İçeri Aktarma tabloları olarak kullanılabildiğinden bu durumdan kaçınmış olursunuz.Because Dual tables can act as either DirectQuery or Import tables, this situation is avoided.

Yayma mantığı, birçok tablo içeren modellerde yardımcı olmak için tasarlanmıştır.The propagation logic is designed to help with models that contain many tables. 50 tablo içeren bir modeliniz olduğunu ve yalnızca bazı olgu (işlem) tablolarının önbelleğe alınması gerektiğini varsayalım.Suppose you have a model with 50 tables and only certain fact (transactional) tables need to be cached. Power BI Desktop'ın mantığı İkili olarak ayarlanması gereken en küçük boyut tablosu kümesini hesaplayabildiğinden, bunu sizin yapmanız gerekmez.The logic in Power BI Desktop calculates the minimum set of dimension tables that must be set to Dual, so you don’t have to.

Yayma mantığı bire çok ilişkilerinin yalnızca bir tarafından geçer.The propagation logic traverses only to the one side of one-to-many relationships.

Depolama modu kullanım örneğiStorage mode usage example

Şimdi önceki bölümde verilen örnekle devam edelim ve aşağıdaki depolama modu özellik ayarlarını uyguladığınızı varsayalım:Let's continue with the example from the previous section, and imagine applying the following storage mode property settings:

TabloTable Depolama moduStorage mode
SatışlarSales DirectQueryDirectQuery
SurveyResponseSurveyResponse İçeri AktarImport
TarihDate İkiliDual
MüşteriCustomer İkiliDual
CoğrafyaGeography İkiliDual

Sales tablosunda önemli bir veri hacmi bulunduğu varsayıldığında, bu depolama modu özelliklerinin ayarlanması aşağıdaki davranışlara neden olur:Setting these storage mode properties results in the following behaviors, assuming that the Sales table has significant data volume:

  • Power BI Desktop boyut tablolarını (Date, Customer ve Geography) önbelleğe alır. Böylelikle görüntülemek üzere dilimleyici değerleri alınırken ilk raporun yükleme süreleri kısa olur.Power BI Desktop caches dimension tables, Date, Customer, and Geography, so load times of initial reports are fast when they retrieve slicer values to display.

  • Power BI Desktop, Sales tablosunu önbelleğe almaz.Power BI Desktop doesn't cache the Sales table. Power BI Desktop, bu tabloyu önbelleğe almadığı için şu sonuçlar ortaya çıkar:By not caching this table, Power BI Desktop provides the following results:

    • Veri yenileme süreleri geliştirilir ve bellek kullanımı azaltılır.Data-refresh times are improved, and memory consumption is reduced.
    • Sales tablosunu temel alan rapor sorguları DirectQuery modunda çalışır.Report queries that are based on the Sales table run in DirectQuery mode. Bu sorgular daha uzun sürebilir ancak önbellek kaynaklı gecikme süresi olmadığından gerçek zamana daha yakın olur.These queries might take longer but are closer to real time because no caching latency is introduced.
  • SurveyResponse tablosunu temel alan rapor sorguları bellek içi önbellekten döndürülür ve bu nedenle bunlar görece hızlı çalışır.Report queries that are based on the SurveyResponse table are returned from the in-memory cache, and are therefore relatively fast.

Önbelleğe isabet eden veya etmeyen sorgularQueries that hit or miss the cache

Power BI Desktop için SQL Profiler'ı tanılama bağlantı noktasına bağlarsanız, aşağıdaki olaylar temelinde bir izleme gerçekleştirip hangi sorguların bellek içi önbelleğe isabet ettiği veya etmediğini görebilirsiniz:If you connect SQL Profiler to the diagnostics port for Power BI Desktop, you can see which queries hit or miss the in-memory cache by performing a trace that's based on the following events:

  • Sorgu Olayları\Query BeginQueries Events\Query Begin
  • Sorgu İşlemesi\Vertipaq SE Query BeginQuery Processing\Vertipaq SE Query Begin
  • Sorgu İşlemesi\DirectQuery BeginQuery Processing\DirectQuery Begin

Her Query Begin olayı için, aynı ActivityID değerine sahip diğer olayları denetleyin.For each Query Begin event, check other events with the same ActivityID. Örneğin, DirectQuery Begin olayı yoksa ama Vertipaq SE Query Begin olayı varsa, sorgu önbellekten yanıtlanmış demektir.For example, if there isn't a DirectQuery Begin event, but there's a Vertipaq SE Query Begin event, the query is answered from the cache.

İkili tablolara başvuran sorgular mümkünse önbellekten veri döndürür, değilse DirectQuery'ye geri döner.Queries that refer to Dual tables return data from the cache, if possible; otherwise, they revert to DirectQuery.

Önceki örnekten devam edersek, aşağıdaki sorgu Date tablosundan tek bir sütuna başvurur ve bu sütun da İkili modundadır.Continuing the previous example, the following query refers only to a column from the Date table, which is in Dual mode. Dolayısıyla sorgunun önbelleğe isabet etmesi gerekir:Therefore, the query should hit the cache:

Date tablosuna başvuran sorgu metnini gösteren ekran görüntüsü.

Aşağıdaki sorgu Sales tablosundan tek bir sütuna başvurur ve bu sütun da DirectQuery modundadır.The following query refers only to a column from the Sales table, which is in DirectQuery mode. Dolayısıyla, bunun önbelleği isabet etmemesi gerekir:Therefore, it should not hit the cache:

Sales tablosuna başvuran sorgu metnini gösteren ekran görüntüsü.

Aşağıdaki sorgu ilginçtir çünkü her iki sütunu da birleştirir.The following query is interesting because it combines both columns. Bu sorgu önbelleğe isabet etmez.This query doesn't hit the cache. Başlangıçta CalendarYear değerlerini önbellekten ve SalesAmount değerlerini de kaynaktan alıp sonuçları birleştirmesini bekleyebilirsiniz ama bu yaklaşım kaynak sisteme SUM/GROUP BY işlemi göndermekten daha az verimli olabilir.You might initially expect it to retrieve CalendarYear values from the cache and SalesAmount values from the source and then combine the results, but this approach is less efficient than submitting the SUM/GROUP BY operation to the source system. İşlem kaynağa doğru gönderilirse, döndürülen satır sayısı çok daha az olabilir:If the operation is pushed down to the source, the number of rows returned will likely be far less:

Hem Date hem de Sales tablosuna başvuran sorgu metnini gösteren ekran görüntüsü.

Not

Bu davranış, önbelleğe alınmış ve alınmamış tabloların birleştirildiği Power BI Desktop'ta çok-çok ilişkilerinden farklıdır.This behavior is different from many-to-many relationships in Power BI Desktop when cached and non-cached tables are combined.

Önbellekler eşitlenmiş durumda tutulmalıdırCaches should be kept in sync

Önceki bölümde gösterilen sorgular İkili tabloların bazen önbelleğe isabet ettiğini ve bazen de etmediğini gösterir.The queries displayed in the previous section show that Dual tables sometimes hit the cache and sometimes don't. Sonuç olarak önbellek güncel değilse farklı değerler döndürülebilir.As a result, if the cache is out of date, different values can be returned. Sorgu yürütme, örneğin DirectQuery sonuçlarını önbelleğe alınmış değerlerle eşleşecek şekilde filtreleyerek veri sorunlarını maskeleme girişiminde bulunmaz.Query execution won't attempt to mask data issues by, for example, filtering DirectQuery results to match cached values. Veri akışlarınızı bilmek sizin sorumluluğunuzdadır ve buna uygun bir tasarım yapmanız gerekir.It's your responsibility to know your data flows, and you should design accordingly. Gerekirse, kaynakta bu tür durumlarla başa çıkmak için yerleşik teknikler vardır.There are established techniques to handle such cases at the source, if necessary.

İkili depolama modu bir performans optimizasyonudur.The Dual storage mode is a performance optimization. Yalnızca iş gereksinimlerini karşılama becerisine zarar vermeyecek yollarla kullanılmalıdır.It should be used only in ways that don't compromise the ability to meet business requirements. Alternatif bir davranış için Power BI Desktop’ta çok-çok ilişkileri sayfasında açıklanan teknikleri kullanmayı göz önünde bulundurun.For alternative behavior, consider using the techniques described in the Many-to-many relationships in Power BI Desktop.

Veri görünümüData view

Veri kümesindeki tablolardan en az birinin depolama modu İçeri Aktarma veya İkili olarak ayarlandıysa, Veri görünümü sekmesi görüntülenir.If at least one table in the dataset has its storage mode set to either Import or Dual, the Data view tab is displayable.

Power BI Desktop'taki veri görünümü

Veri görünümünde İkili ve İçeri Aktarma tablolarını seçtiğinizde önbelleğe alınmış veriler gösterilir.When you select Dual and Import tables in Data view, they show cached data. DirectQuery tablolarında veri gösterilmez ve DirectQuery tablolarının gösterilemediğini belirten bir ileti görüntülenir.DirectQuery tables don't show data, and a message is displayed that states that DirectQuery tables can't be shown.

Sınırlamalar ve önemli noktalarLimitations and considerations

Depolama modu'nun bu sürümünde ve bunun bileşik modellerle bağıntısında birkaç sınırlama vardır.There are a few limitations for this release of storage mode and its correlation with composite models.

Aşağıdaki canlı bağlantı (çok boyutlu) kaynakları bileşik modellerle kullanılamaz:The following live connection (multi-dimensional) sources can't be used with composite models:

  • SAP HANASAP HANA
  • SAP Business WarehouseSAP Business Warehouse
  • SQL Server Analysis ServicesSQL Server Analysis Services
  • Power BI veri kümeleriPower BI datasets
  • Azure Analysis ServicesAzure Analysis Services

Söz konusu çok boyutlu kaynaklara DirectQuery kullanarak bağlandığınızda, başka bir DirectQuery kaynağına bağlanamaz veya içeri aktarılan verilerle birleştiremezsiniz.When you connect to those multi-dimensional sources by using DirectQuery, you can't connect to another DirectQuery source or combine it with imported data.

DirectQuery kullanımının mevcut sınırlamaları bileşik modelleri kullanırken de geçerlidir.The existing limitations of using DirectQuery still apply when you use composite models. Bu sınırlamaların birçoğu şimdi tablonun depolama moduna bağlı olarak tablo başına uygulanır.Many of those limitations are now per table, depending upon the storage mode of the table. Örneğin, içeri aktarılan tablodaki hesaplanan sütun başka tablolara başvurabilir ama DirectQuery tablosundaki hesaplanan sütunun başvurabileceği sütunlar yine aynı tablodaki sütunlarla sınırlıdır.For example, a calculated column on an imported table can refer to other tables, but a calculated column on a DirectQuery table is still restricted to refer only to columns on the same table. Model içindeki tablolardan herhangi biri DirectQuery ise, diğer sınırlamalar modelin tamamına uygulanır.Other limitations apply to the model as a whole, if any of the tables within the model are DirectQuery. Örneğin, modelin içindeki tablolardan herhangi birinin depolama modu DirectQuery olduğunda, modelde QuickInsights ve Soru ve Yanıt özellikleri kullanılamaz.For example, the QuickInsights and Q&A features aren't available on a model if any of the tables within it has a storage mode of DirectQuery.

Sonraki adımlarNext steps

Bileşik modeller ve DirectQuery hakkında daha fazla bilgi için aşağıdaki makalelere bakın:For more information about composite models and DirectQuery, see the following articles: