OLAP简介(结合个人工作)
OLTP和OLAP 传统的数据库系统都是OLTP,只能提供数据原始的操作。不支持分析工作。 OLTP系统::执行联机事务和查询处理。一般超市进销存系统,功能:注册,记账,库存和销售记录等等, OLAP系统:数据分析与决策服务,组织不同式数据,满足不同用户需求。 区
OLTP和OLAP
传统的数据库系统都是OLTP,只能提供数据原始的操作。不支持分析工作。
OLTP系统::执行联机事务和查询处理。一般超市进销存系统,功能:注册,记账,库存和销售记录等等,
OLAP系统:数据分析与决策服务,组织不同格式数据,满足不同用户需求。
区别:
面向性。OLTP面向顾客,就是操作员,如超市收银员,银行柜台人员。OLAP面向市场,用于数据分析,分析人员包括数据分析员,做出决策的业务经理,或者策略制定部分。
数据内容:OLTP当前数据。OLAP历史数据的汇总与聚集。
数据库设计:OLTP用ER模型和面向应用数据库。OLAP 用星型或雪花模型,面向主题数据库设计。
还有访问模式:操作事务与只读的分析计算的区别。
等等
多维数据模型:
数据立方体cube:
给定维度的每个子集产生一个cuboid(称为方体)。这样可以在不同粒度上的汇总级别或分组(group by),来显示数据,整体上方体的格成为cube。
最低层汇总的方体称为基本方体(basecuboid)。出现某一个维度上的汇总后,则为非基本方体。
汇总到最高层的数据称为顶点方体(apexcuboid),如0-d方体,that’s to say,所有维度汇总到一起只剩一个cuboid,不能再汇总了。
顶点方体是最高泛化的方体。基本方体是最低特殊化的方体。
粗细粒度是不同程度上的汇总,涉及操作:
上卷(roll up),供应商称之为上钻drillup,沿着维度的概念分层向上
下钻(drill down)沿着维度的概念分层向下,需找更细粒度的数据。
切片:固定某一维度的取值,抽取这一维度下的子集。
切块:由多个维度上选择多个取值,抽取其所映射的子立方体。
旋转rotate: 也叫pivot数轴变换,简单说,二维表中的行列转置。到三维以上复杂,不同数轴之间的位置变换。说的高大上叫数据的视图角度转变
概念分层:低层概念(如城市)映射到更高的层次概念(如国家)。从低到高叫泛化(generalize),从高到低叫特殊化(specialize)。
模式分层(schema hierarchy)概念分层为数据库模式中属性的全序或偏序。
集合分组分层(set-grouping hierarchy)给定维度的属性值的离散化或分组。如年龄age属性离散化为young、mid、old三个子集,分组group by sex的男女子集。
数据立方体的实现:
使用数据仓库的模型是多维模型,目前经常的有:
星型模型:一个大而全,且无冗余的事实表(fact);以及不同分析维度上的维度表(dimension)。维度表围绕事实表,通过每个维度自身的dimension key(所有可能范围内的取值)关联。
雪花模型:星型模型的进一步细化,即将其中包含多个值的维度表进行规范化的(就是将维度表包含的某个值提取出来,作为新的dimension表),以便减少冗余。
这样把数据进一步分解到附加表中,易于维护,省空间(防止维度灾难),但查询时需要更多关联操作,降低时效性。
事实星座模型(fact constellation)or 星系模式(galaxy schema):多个fact tableshare all dimesioms(共享维度表)。
比如我的设计的data warehouse。Workbench
Cube定义
Dimension定义
一般的data warehouse 都是用fact constellation。
指标Index
度量measure
维度灾难(curse of dimensionality),当维度过多(特征空间非常复杂),那么维度之间的关联计算就变得非常多,而维度概念分层会加重灾难。反应在cube中,就是不同维度的计算就会产生巨大的数据,就是预计算cube中所有的方体(子cube),存储空间是爆炸似增长。N维会有2n个子cube,加上概念分层Li,则方体总数
预计算:1不物化(no materialization)2全物化(full materialization)3部分物化(partial materialization)
OLTP和OLAP
OLTP系统::执行联机事务和查询处理。一般超市进销存系统,功能:注册,记账,库存和销售记录等等,
OLAP系统:数据分析与决策服务,组织不同格式数据,满足不同用户需求。
区别:
面向性。OLTP面向顾客,就是操作员,如超市收银员,银行柜台人员。OLAP面向市场,用于数据分析,分析人员包括数据分析员,做出决策的业务经理,或者策略制定部分。
数据内容:OLTP当前数据。OLAP历史数据的汇总与聚集。
数据库设计:OLTP用ER模型和面向应用数据库。OLAP 用星型或雪花模型,面向主题数据库设计。
还有访问模式:操作事务与只读的分析计算的区别。
等等
多维数据模型:
数据立方体cube:
给定维度的每个子集产生一个cuboid(称为方体)。这样可以在不同粒度上的汇总级别或分组(group by),来显示数据,整体上方体的格成为cube。
最低层汇总的方体称为基本方体(basecuboid)。出现某一个维度上的汇总后,则为非基本方体。
汇总到最高层的数据称为顶点方体(apexcuboid),如0-d方体,that’s to say,所有维度汇总到一起只剩一个cuboid,不能再汇总了。
顶点方体是最高泛化的方体。基本方体是最低特殊化的方体。
粗细粒度是不同程度上的汇总,涉及操作:
上卷(roll up),供应商称之为上钻drillup,沿着维度的概念分层向上
下钻(drill down)沿着维度的概念分层向下,需找更细粒度的数据。
切片:固定某一维度的取值,抽取这一维度下的子集。
切块:由多个维度上选择多个取值,抽取其所映射的子立方体。
旋转rotate: 也叫pivot数轴变换,简单说,二维表中的行列转置。到三维以上复杂,不同数轴之间的位置变换。说的高大上叫数据的视图角度转变
概念分层:低层概念(如城市)映射到更高的层次概念(如国家)。从低到高叫泛化(generalize),从高到低叫特殊化(specialize)。
模式分层(schema hierarchy)概念分层为数据库模式中属性的全序或偏序。
集合分组分层(set-grouping hierarchy)给定维度的属性值的离散化或分组。如年龄age属性离散化为young、mid、old三个子集,分组group by sex的男女子集。
数据立方体的实现:
使用数据仓库的模型是多维模型,目前经常的有:
星型模型:一个大而全,且无冗余的事实表(fact);以及不同分析维度上的维度表(dimension)。维度表围绕事实表,通过每个维度自身的dimension key(所有可能范围内的取值)关联。
雪花模型:星型模型的进一步细化,即将其中包含多个值的维度表进行规范化的(就是将维度表包含的某个值提取出来,作为新的dimension表),以便减少冗余。
这样把数据进一步分解到附加表中,易于维护,省空间(防止维度灾难),但查询时需要更多关联操作,降低时效性。
事实星座模型(fact constellation)or 星系模式(galaxy schema):多个fact tableshare all dimesioms(共享维度表)。
比如我的设计的data warehouse。Workbench
Cube定义
Dimension定义
一般的data warehouse 都是用fact constellation。
指标Index
度量measure
维度灾难(curse of dimensionality),当维度过多(特征空间非常复杂),那么维度之间的关联计算就变得非常多,而维度概念分层会加重灾难。反应在cube中,就是不同维度的计算就会产生巨大的数据,就是预计算cube中所有的方体(子cube),存储空间是爆炸似增长。N维会有2n个子cube,加上概念分层Li,则方体总数
预计算:1不物化(no materialization)2全物化(full materialization)3部分物化(partial materialization)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Öffnen Sie zunächst die Unternehmenssoftware WeChat, die Sie auf Ihr Mobiltelefon heruntergeladen haben. Bei der Anmeldung stehen zwei Möglichkeiten zur Auswahl: Eine besteht darin, die WeChat-ID zu verwenden, die andere darin, eine Mobiltelefonnummer zu verwenden. 3. Zu diesem Zeitpunkt muss der Unternehmensadministrator Ihre Mobiltelefonnummer im Hintergrund hinzufügen. Anschließend identifiziert Enterprise WeChat das Unternehmen anhand Ihrer Mobiltelefonnummer. Zeigen Sie dann Ihr Unternehmen an und klicken Sie unten auf die Option „Unternehmen eingeben“. 4. Dann können Sie die Nutzung der Funktionen in der Software eingeben. Das Wichtigste ist, dass Ihre Mobiltelefonnummer vom Administrator zum Unternehmen hinzugefügt wird, sonst ist sie nicht verfügbar.

Mit der rasanten Entwicklung des Internets steigt auch die Nachfrage nach Webanwendungen. Für Webentwickler ist die Wahl eines hervorragenden Webanwendungs-Frameworks von entscheidender Bedeutung. Im Bereich PHP hat sich Laravel zu einem beliebten Webanwendungs-Framework entwickelt. Für Szenarien mit hoher Parallelität und hoher Auslastung sind die herkömmlichen Webanwendungen im CGI-Modus von PHP jedoch nicht sehr geeignet. Zu diesem Zeitpunkt ist ein leistungsstarkes Netzwerkkommunikations-Framework besonders wichtig, und Swoole ist ein hervorragendes Beispiel dafür

Object-Relational Mapping (ORM)-Frameworks spielen eine wichtige Rolle in der Python-Entwicklung. Sie vereinfachen den Datenzugriff und die Datenverwaltung, indem sie eine Brücke zwischen Objekt- und relationalen Datenbanken schlagen. Um die Leistung verschiedener ORM-Frameworks zu bewerten, wird in diesem Artikel ein Vergleich mit den folgenden gängigen Frameworks durchgeführt: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Testmethode Der Benchmark verwendet eine SQLite-Datenbank mit 1 Million Datensätzen. Der Test führte die folgenden Vorgänge in der Datenbank durch: Einfügen: 10.000 neue Datensätze in die Tabelle einfügen. Lesen: Alle Datensätze in der Tabelle lesen. Aktualisieren: Ein einzelnes Feld für alle Datensätze in der Tabelle aktualisieren. Löschen: Alle Datensätze in der Tabelle löschen. Jeder Vorgang

Das Yii-Framework ist ein leistungsstarkes, hoch skalierbares und äußerst wartbares PHP-Entwicklungsframework, das bei der Entwicklung von Webanwendungen äußerst effizient und zuverlässig ist. Der Hauptvorteil des Yii-Frameworks sind seine einzigartigen Features und Entwicklungsmethoden sowie die Integration vieler praktischer Tools und Funktionen. Das Kernkonzept des Yii-Frameworks, das MVC-Muster, übernimmt Yii das MVC-Muster (Model-View-Controller), ein Muster, das die Anwendung in drei unabhängige Teile unterteilt, nämlich das Geschäftslogik-Verarbeitungsmodell und das Präsentationsmodell der Benutzeroberfläche .

Object-Relational Mapping (ORM) ist eine Programmiertechnologie, die es Entwicklern ermöglicht, Objektprogrammiersprachen zum Bearbeiten von Datenbanken zu verwenden, ohne SQL-Abfragen direkt schreiben zu müssen. ORM-Tools in Python (wie SQLAlchemy, Peewee und DjangoORM) vereinfachen die Datenbankinteraktion für Big-Data-Projekte. Vorteile Einfachheit des Codes: ORM macht das Schreiben langwieriger SQL-Abfragen überflüssig, was die Einfachheit und Lesbarkeit des Codes verbessert. Datenabstraktion: ORM bietet eine Abstraktionsschicht, die Anwendungscode von Datenbankimplementierungsdetails isoliert und so die Flexibilität verbessert. Leistungsoptimierung: ORMs nutzen häufig Caching- und Batch-Vorgänge, um Datenbankabfragen zu optimieren und dadurch die Leistung zu verbessern. Portabilität: ORM ermöglicht Entwicklern

Erforschung der perfekten Kombination von PHP und Blockchain Mit zunehmender Reife der Blockchain-Technologie und zunehmendem Anwendungsbereich beginnen Menschen, traditionelle Programmiersprachen mit Blockchain zu kombinieren, um mehr Arten von Anwendungen zu erreichen. In diesem Zusammenhang hat die PHP-Sprache als weit verbreitete Netzwerkprogrammiersprache auch damit begonnen, ihre Kombination mit der Blockchain-Technologie zu erforschen. Dieser Artikel konzentriert sich auf die Kombination von PHP-Sprache und Blockchain-Technologie und beinhaltet spezifische Codebeispiele, damit die Leser sie besser verstehen können. Was ist Blockchain? Lassen Sie uns zunächst einmal

Java-Entwurfsmuster verstehen: Eine Einführung in 7 häufig verwendete Entwurfsmuster. Es sind spezifische Codebeispiele erforderlich. Java-Entwurfsmuster sind eine universelle Lösung für Software-Entwurfsprobleme. Sie bieten eine Reihe allgemein akzeptierter Entwurfsideen und Verhaltenskodizes. Entwurfsmuster helfen uns, die Codestruktur besser zu organisieren und zu planen, wodurch der Code wartbarer, lesbarer und skalierbarer wird. In diesem Artikel stellen wir sieben häufig verwendete Entwurfsmuster in Java vor und stellen entsprechende Codebeispiele bereit. Singleton Patte

Wenn wir über Programmiersprachen und Berufe sprechen, fällt uns vor allem Java ein. Die meisten Unternehmen auf der ganzen Welt verwenden Java. Es ist beliebt und es gibt viele Jobmöglichkeiten. Wenn Sie mit Hilfe von Java-Kenntnissen im Jahr 2023 einen Job bekommen möchten, dann ist das gut für Sie, denn Java-Kenntnisse können Ihnen schnell einen Job verschaffen. Außerdem kann es Ihre Karriere schnell voranbringen. Es gibt keinen Zaubertrick, mit dem Sie schnell einen Job finden. Aber deine Fähigkeiten sind für dich wie Magie. Wählen Sie einen Job, der Sie zufriedenstellt, und ein gutes Umfeld, das Ihre Karriere erheblich bereichern kann. Wenn Sie ein Neuling sind und Erfahrung haben, bietet Ihnen Java ebenfalls einen guten Job. Viele Unternehmen nutzen Java als Hauptprogramm für ihre Entwicklung. Es
