1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-09-13 21:21:50 +03:00
Commit Graph

147 Commits

Author SHA1 Message Date
drrtuy
817b092a2b chore(bootstrap): bootstrap does not replace existing Columnstore.xml if the flag is set 2025-06-05 21:44:47 +01:00
Leonid Fedorov
aa7e0fb9b4 Deep build refactoring phase 1 (#3562)
* configcpp refactored
* logging and datatypes refactored

* more dataconvert
* chore(build): massive removals, auto add files to debian install file
* chore(codemanagement): nodeps headers, potentioal library
* chore(build): configure before autobake
* chore(build): use custom cmake commands for components, mariadb-plugin-columnstore.install generated
* chore(build): install deps as separate step for build-packages
* more deps
* check  debian/mariadb-plugin-columnstore.install automatically
* chore(build): add option for multibracnh compilation
* Fix warning
2025-05-30 14:05:21 +04:00
Leonid Fedorov
6db2dc668f stubs and cmake formatting 2025-05-20 18:22:59 +04:00
drrtuy
7dccc492b3 feat(config): TotalUmMemory = 65% and NumBlocksPct = 20% by default. 2025-05-02 17:18:48 +01:00
drrtuy
aa4bbc0152 feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
* feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
  - forces to UM join converter to use a value from a configuration
  - replaces a constant used to control a number of outstanding requests with a value depends on column width
  - modifies related Columnstore.xml values
2024-12-03 22:18:21 +00:00
mariadb-AndreyPiskunov
05547f2342 Add a limit (as runtime value) for long in queries 2023-08-21 10:38:46 +03:00
Andrey Piskunov
b6808c97f1 MCOL-4530: common conjuction top rewrite (#2673)
Added logical transformation of the execplan::ParseTrees with the taking out the common factor in expression of the form "(A and B) or (A and C)" for the purposes of passing a TPCH 19 query.

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
2023-02-27 19:23:19 +03:00
Gagan Goel
cbfdae3481 MCOL-5021 Code changes based on review feedback. 2022-08-05 14:40:50 -04:00
Gagan Goel
c8b6b154bf MCOL-5021 Add an option in Columnstore.xml, fastdelete (disabled
by default), which when enabled, indiscriminately invalidates all
column extents and performs the actual DELETE only on the AUX
column. The trade-off with this approach would now be that the
first SELECT for certain query patterns (those containing a WHERE
predicate) after the DELETE operation will slow down as the
invalidated column extent would need to be scanned again to set
the min/max values.
2022-08-05 14:40:49 -04:00
david.hall
3b6449842f Merge branch 'develop' into MCOL-4841
# Conflicts:
#	exemgr/main.cpp
#	oam/etc/Columnstore.xml.singleserver
#	primitives/primproc/primproc.cpp
2022-06-09 10:07:26 -05:00
David.Hall
bbb168a846 Mcol 4560 (#2337)
* MCOL-4560 remove unused xml entries and code that references it.
There is reader code and variables for some of these settings, but nobody uses them.
2022-04-18 18:00:17 -04:00
David Hall
4ee1057374 Remove commented line
Changes to Columnstore.xml are causing issues with automated install scripts. Removing these minor changes will get us through the release. The problem shall be fixed with MCOL-4928
2021-11-19 11:28:59 -06:00
Alexey Antipovsky
7fea3c988e [MCOL-4829] Compression for the temp disk-based aggregation files 2021-09-02 19:30:25 +03:00
David Hall
c5c82c1d4f MCOL-4751 resurrect autoConfigure
A need to set Columnstore.xml to the new version with any user changed settings preserved
2021-08-05 11:11:36 -05:00
Denis Khalikov
cc1c3629c5 MCOL-987 Add LZ4 compression.
* Adds CompressInterfaceLZ4 which uses LZ4 API for compress/uncompress.
* Adds CMake machinery to search LZ4 on running host.
* All methods which use static data and do not modify any internal data - become `static`,
  so we can use them without creation of the specific object. This is possible, because
  the header specification has not been modified. We still use 2 sections in header, first
  one with file meta data, the second one with pointers for compressed chunks.
* Methods `compress`, `uncompress`, `maxCompressedSize`, `getUncompressedSize` - become
  pure virtual, so we can override them for the other compression algos.
* Adds method `getChunkMagicNumber`, so we can verify chunk magic number
  for each compression algo.
* Renames "s/IDBCompressInterface/CompressInterface/g" according to requirement.
2021-07-06 18:04:37 +03:00
Roman Nozdrin
36c6c3fd69 MCOL-4770 Installation.PMwithUM is enabled by default so a plugin communicates with a local EM only 2021-06-23 10:38:46 +00:00
Roman Nozdrin
7a152c6a19 Merge pull request #1944 from mariadb-AlexeyAntipovsky/MCOL-563-dev
[MCOL-4709] Disk-based aggregation
2021-06-08 20:42:58 +03:00
Alexey Antipovsky
475104e4d3 [MCOL-4709] Disk-based aggregation
* Introduce multigeneration aggregation

* Do not save unused part of RGDatas to disk
* Add IO error explanation (strerror)

* Reduce memory usage while aggregating
* introduce in-memory generations to better memory utilization

* Try to limit the qty of buckets at a low limit

* Refactor disk aggregation a bit
* pass calculated hash into RowAggregation
* try to keep some RGData with free space in memory

* do not dump more than half of rowgroups to disk if generations are
  allowed, instead start a new generation
* for each thread shift the first processed bucket at each iteration,
  so the generations start more evenly

* Unify temp data location

* Explicitly create temp subdirectories
  whether disk aggregation/join are enabled or not
2021-06-06 16:09:15 +03:00
Denis Khalikov
606194e6e4 MCOL-4685: Eliminate some irrelevant settings (uncompressed data and extents per file).
This patch:
1. Removes the option to declare uncompressed columns (set columnstore_compression_type = 0).
2. Ignores [COMMENT '[compression=0] option at table or column level (no error messages, just disregard).
3. Removes the option to set more than 2 extents per file (ExtentsPreSegmentFile).
4. Updates rebuildEM tool to support up to 10 dictionary extent per dictionary segment file.
5. Adds check for `DBRootStorageType` for rebuildEM tool.
6. Renamed rebuildEM to mcsRebuildEM.
2021-06-03 14:44:33 +03:00
benthompson15
afa88866bb MCOL-4483: Fix and consolidate log files and cpimport logging. 2021-02-12 15:40:16 -06:00
benthompson15
846f7fb29b MCOL-4193: Delete unused OAM and applications, ProcMon, ProcMgr, and no longer build all tools for packages 2021-02-08 17:51:09 -06:00
David Hall
3673586267 MCOL-4252 Fix up configuration 2020-08-18 12:09:31 -05:00
Patrick LeBlanc
06af176738 Remove the new config keys for now to make it consistent with 'version 0' 2020-06-26 17:29:05 -04:00
David Hall
a43de9d536 Merge branch 'develop' into MCOL-3536 2020-05-28 14:20:32 -05:00
Roman Nozdrin
2b34640498 MCOL-3836 New config settings to safely assign node and dbroot ids in a cluster. 2020-05-27 13:58:10 +00:00
Jose
182e876aec MCOL-3914 Add proper termination of systemd units. 2020-05-21 21:51:40 +00:00
David Hall
8479a87e46 Merge branch 'develop' into MCOL-3536 2020-05-18 16:22:01 -05:00
David Hall
1f3d1e6fd6 MCOL-3536 collation 2020-05-14 16:02:49 -05:00
Jose
98abf95eae MCOL-3991 MCS is now single package and properly uninstalls 2020-05-12 13:36:24 +00:00
Jose
5a794a55a8 Configuration file updated to match new config 2020-05-12 13:35:25 +00:00
Jose
ea39ac7f43 MCOL-3915. Cleanup postConfigure. PostConfigure and Installer no longer editing config file 2020-05-12 13:35:25 +00:00
Jose
97b8e41ce3 MCOL-3915 Remove some configuration from postConfigure. Default Columnstore.xml to a standard single server config. 2020-05-12 13:33:37 +00:00
Patrick LeBlanc
2cd0f8314c MCOL-2022: added 'deprecated' to the assign/unassign elastic ip commands. 2020-03-11 17:59:03 -04:00
Todd Stoffel
63a963b206 Fix typo 2019-12-23 10:55:59 -08:00
jmrojas2332
e3a8c273c0 Merge branch 'MCOL-3585' of https://github.com/jmrojas2332/mariadb-columnstore-engine into MCOL-3585 2019-12-05 16:16:41 +00:00
jmrojas2332
3502871d2e MCOL 3585 Remove possibly confusing comment 2019-12-05 16:15:47 +00:00
Jose Rojas
e9ee385a11 Merge branch 'develop' into MCOL-3585 2019-12-05 10:03:40 -06:00
jmrojas2332
608d61feb5 MCOL 3585 Minor update to Default for MaxOutstandingRequests 2019-12-05 15:54:00 +00:00
jmrojas2332
c0319a5438 MCOL 3585 Related. Updated Comment in config file 2019-12-04 23:20:01 +00:00
Andrew Hutchings
7489d0bfd0 MCOL-3625 Rename packages
Rename packages to MariaDB-columnstore-engine, MariaDB-columnstore-libs
and MariaDB-columnstore-platform.

Also add the "columnstore-" prefix the the components so that MariaDB's
packaging system understands then and add a line to include them in
MariaDB's packaging.

In addition
* Fix S3 building for dist source build
* Fix Debian 10 dependency issue
* Fix git handling for dist builds
* Add support for MariaDB's RPM building
* Use MariaDB's PCRE and readline
* Removes a few dead files
* Fix Boost noncopyable includes
2019-12-04 11:04:39 +00:00
Patrick LeBlanc
935826a4fb Merge pull request #950 from pleblanc1976/threadedUMjoin-squashed
Threaded um join squashed
2019-11-22 12:01:20 -06:00
Patrick LeBlanc
c866715efe Removed CalpontHome config param. 2019-11-21 14:51:46 -05:00
Patrick LeBlanc
0d26dc447c Squash merge of the threaded UM hash table construction feature.
Conflicts:
	oam/etc/Columnstore.xml.singleserver
2019-11-21 14:41:00 -05:00
jmrojas2332
e712df5d0b MCOL 3585 update some defaults in config file 2019-11-21 06:08:49 +00:00
benthompson15
5ad303e52b MCOL-3589: Add mcsadmin stopmodule command and modify columnstore stop to use it. 2019-11-14 16:01:17 -06:00
Andrew Hutchings
8ab9ebb0f4 MCOL-3606 Make ColumnStore use generic paths
ColumnStore now uses standard bin/lib paths for pretty much everything.
Data path is now hard-coded to /var/lib/columnstore.

This patch also:

* Removes v1 decompression
* Removes a bunch of unneeded files
* Removes COLUMNSTORE_INSTALL_DIR / $INSTALLDIR
* Makes my.cnf.d work for all platforms (MCOL-3558)
* Changes configcpp to use recursive mutex (fixes possible config write deadlock)
* Fixes MCOL-3599 Fix regr functions, The library was installed in the wrong location
* Fixes a bunch of Ubuntu packaging issues
* Changes the binary names of several of the executables so as not to
clash with potential executables from other packages
2019-11-09 16:53:05 +00:00
Andrew Hutchings
ebb22a96a3 MCOL-3551 Use generic MariaDB Server paths
This branch enforces the use of generic MariaDB server paths for their
binaries and data rather than custom paths.

/usr/local/mariadb/columnstore is now only for columnstore with this
patch.

It should be noted that this removes the auto-mounting of external
MariaDB UM data storage for AWS.

This is also a fix for MCOL-3510 after buildbot changes are made.

Also... MCOL-3552 Use columnstore.cnf to load plugins

The ColumnStore plugins now load using a columnstore.cnf instead of a
SQL sequence to be more in-line with MariaDB's methods.
2019-10-13 09:34:37 +01:00
Andrew Hutchings
8c207bf412 MCOL-3515 Remove distributed install
Non-distributed is now the only install method.
2019-09-24 12:02:10 +01:00
Andrew Hutchings
97bda78c3b Move config files
This patch:

* Moves config files from /usr/local/mariadb/columnstore/etc to
ENGINE_SYSCONFDIR/columnstore (ENGINE_SYSCONFDIR is /etc by default)
* Sets a define called MCSSYSCONFDIR whic contains the
ENGINE_SYSCONFDIR compile time setting
* Modifies scripts and code to use the new paths
* Removes a whole bunch of files we don't use
2019-09-09 14:13:56 +01:00
Patrick LeBlanc
fc8f68e391 A couple random things
- Re-added the StorageManager/Enabled key in the default config file.
  Thought I had switched all that stuff to only look at DBRootStorageType
  but I was wrong.
- Made the unit_tests bin for SM stay in the SM dir
- Collapsed one level of build dirs for SM.  For some reason it was
  putting test data in storage-manager/storage-manager/testData
- Limited a single read() call to 100MB as a paranoid safety measure.
  Normal usage won't read that much at once anyway.
2019-08-28 12:56:52 -05:00