KdbplusForMortals/contents

From Kx Wiki
Jump to: navigation, search

Contents

Kdb+ for Mortals

Chapter 1 - Persistent Tables

Jeffry A. Borror

Table of Contents

1.1 Loading Tables from Stored Data
1.1.0 Overview
1.1.1 Serialized Tables
1.1.2 Table from Newline-Delimited Text File
1.1.3 Table from Fixed Record Text File
1.1.4 Table from Delimited Record Text File
1.1.5 Links
1.2 Splayed Tables
1.2.0 Overview
1.2.0.1 Splayed table Layout
1.2.0.2 Limitations of Splaying
1.2.1 Splaying a Table
1.2.2 Working with Splayed Tables
1.2.3 Modifying a Mapped Table in Memory
1.2.4 Built-in Operations on the Persisted Splayed Table
1.2.4.1 Appending Records
1.2.4.2 Sorting and Applying Attributes
1.2.5 Manual Operations on Splayed Table Files
1.2.5.1 Column Update
1.2.5.2 Reordering Columns on Disk
1.2.5.3 Sorting by a Column on Disk
1.2.5.4 Adding a Column on Disk
1.2.5.5 Deleting a Column on Disk
1.2.6 Splayed Tables with Symbols
1.2.6.1 Splaying Enumerated Symbol Columns
1.2.6.2 Merging Saved sym Domains
1.2.7 Splayed Tables with Compound Columns
1.2.7.1 Compound Column Example
1.2.7.2 String Columns
1.2.7.3 Symbols vs. Strings
1.2.8 Links between Splayed Tables
1.2.9 Query Execution on Splayed Tables (Advanced)
1.3 Partitioned Tables
1.3.0 Overview
1.3.1 Partitions
1.3.1.1 Partition Layout
1.3.1.2 Partition Examples
1.3.1.3 Partition Domain
1.3.2 Creating Partitions
1.3.2.1 Partitioning Tables without Symbols
1.3.2.2 Partitioning Tables with Symbols
1.3.3 Working with Partitioned Tables
1.3.3.1 The select Template
1.3.3.2 The Virtual Column i in Partitioned Tables
1.3.4 Query Execution on Partitioned Tables (Advanced)
1.3.4.0 Overview
1.3.4.1 Map-Reduce
1.3.4.2 Map-Reduce in Queries
1.3.4.3 Map-Reduce Aggregates vs. Brute Force
1.3.5 Modifying Partitioned Tables
1.3.5.1 Appending Records within a Partition
1.3.5.2 Modifying Data in a Partition
1.3.6 Multiple Partitioned Tables
1.3.6.1 Daily trades and quotes
1.3.6.2 Missing Table in Partition
1.3.7 Examples of Partition Domains
1.3.7.1 Yearly
1.3.7.2 Monthly
1.3.7.3 int
1.3.8 Links and Partitioned Tables
1.3.8.1 Linking to a Column in Memory
1.3.8.2 Linking to a Column on Disk
1.4 Segments
1.4.0 Overview
1.4.1 Segmented Tables
1.4.1.1 Contrasting Partitions and Segments
1.4.1.2 Segment Layout Examples
1.4.2 Creating Segments
1.4.2.1 Trades Segmented by Day of Week
1.4.2.2 Trades Segmented by Symbol Range
1.4.2.3 Trades Segmented by Exchange
1.4.2.4 Trades Segmented across Partitions
1.4.3 Multiple Segmented Tables
1.4.4 Query Execution on Segmented Tables (Advanced)
1.4.4.1 Preliminaries
1.4.4.2 Execution over Segments
1.4.4.3 Slaves and Cores
1.4.5 Examples
1.5 Using .Q Utilities for Splayed and Partitioned Tables
1.5.1 .Q.qp
1.5.2 .Q.en
1.5.3 .Q.ind
1.5.4 .Q.dpft
1.5.5 .Q.fs
1.5.6 .Q.chk
1.5.7 .Q.view
1.6 Kdb+ Database
1.6.1 Comparing kdb+ to an RDBMS
1.6.2 The Physical Layout of a kdb+ Database
1.6.2.1 The sym File
1.6.2.2 Other Serialized Files in the Root
1.6.2.3 Scripts
1.6.2.4 Splayed Tables
1.6.2.5 Partitioned Tables
1.6.2.6 Segmented Tables
1.6.3 Creating and Loading a Kdb+ Database
1.6.3.0 What happens at startup?
1.6.3.1 Serialized q Entities
1.6.3.2 Splayed Tables
1.6.3.3 Partitioned Tables
1.6.3.4 Segmented Tables
1.6.3.5 Scripts
1.6.3.6 Putting It All Together
1.6.4 There's No Place Like QHOME
1.6.4.1 The Environment Variables
1.6.4.2 Where is q?

Next: 1.1 Loading Tables from Stored Data

Table of Contents

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox