How the partitions feature works?

5 posts / 0 new
Last post
hieblmedia
hieblmedia's picture
Offline
Last seen: 2 weeks 6 days ago
Joined: Apr 8 2013
Junior Boarder

Posts: 3

Reinhard Hiebl
How the partitions feature works?

Hello,
i use Infinidb4. It is not really clear how partitions are working.

For example, i need partitions for each (or last) 30days on a date column. I need this for fast partition drops.
How i can configure this?
Is this possibile like mysql partitions?
With calShowPartitions i see always only one partition...

In the AdminGuide i found this:

Quote:The size of a partition is defined by two Calpont.xml settings - FilesPerColumnPartition and ExtentsPerSegmentFile. The default settings for these are FilesPerColumnPartition=4 and ExtentsPerSegmentFile=2. This equates to partition sizes of 4 * 2 * 8M = 64M rows. This setting is key as it defines the number of rows that can be rolled off at a time when dropping or disabling a partition.

What does this mean exactly? On each 64M rows one partition is automatically created?
Can someone explain this to me more detailed.

Thanks in advance.
Reinhard

radams
radams's picture
Offline
Last seen: 3 days 3 hours ago
Joined: Jan 3 2011
Administrator

Posts: 492

Robert Adams
Re: How the partitions feature works?

Hi Reinhard,

Please read the Concepts Guide which further explains how partitioning works in InfiniDB.

Partition – a partition is a different concept than that used by standard row-based databases that use partitioning to horizontally divide up the data that is in a table or index. In InfiniDB, a partition is a logical object, which is comprised by one or more segment files.

Thanks,

Robert
Calpont

lelsen
lelsen's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: Apr 2 2014
Junior Boarder

Posts: 6

Lennart Elsen
Re: How the partitions feature works?

Picking up on what Reinhard mentioned: does that automatically imply that a partition holds AT LEAST 8 million rows? This would be equivalent to setting ExtentsPerSegmentFile=1 and FilesPerColumnPartition=1. Is there any way to tell IDB to put even less rows inside a partition? This might be practical if you want your information lifecycle to be very short, say, around a day. 

 

I have another question concerning partitioning: is a partition sequentially filled, thus storing data which is ordered by time?

 

Thanks for your support guys.

radams
radams's picture
Offline
Last seen: 3 days 3 hours ago
Joined: Jan 3 2011
Administrator

Posts: 492

Robert Adams
Re: How the partitions feature works?

Hi,

 

 

Each extent can have 8 million rows.

 

 

This following is from the Concepts Guide:

 

 

Extent – an extent is a logical measure of 8 million rows that exists within one physical segment file.
An extent for 1 byte datatypes consume 8MB; 2 byte datatypes consume 16MB; 4 byte datatypes
consume 32MB; 8 byte datatypes consume 64MB; and variable size datatypes consume 64MB. Once
an extent becomes full, a new extent is automatically created.
 
Segment File – a segment file is a physical file on disk that holds a column’s data. Once a segment
file reaches its maximum number of extents, a new segment file is automatically created.
 
 
Partition – a partition is a different concept than that used by standard row-based databases that
use partitioning to horizontally divide up the data that is in a table or index. In InfiniDB, a partition is
a logical object, which is comprised by one or more segment files. The
FilesPerColumnPartition parameter controls how many segment files a single partition can
have. There is no limit to the number of partitions that a column can have.
 
 
Their is nore infomation in the Syntax Guide on partition management.
 
Data is stored in the order it is loaded. The data will be sequential by time if that is how the data is loaded.
 
Thanks,
 
Robert
 
 

 

lelsen
lelsen's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: Apr 2 2014
Junior Boarder

Posts: 6

Lennart Elsen
Hi Robert,

Hi Robert,

 

thanks for your answer and the clearification concerning sequential loading. This is good news!

 

Greets,

 

L