Vertica configuration groups
Configuration groups support for single-instance vertica Change-Id: I325d46572645cccf2d46fcbd3a134515f198c91a
This commit is contained in:
parent
f200cf24df
commit
d1a6313079
423
specs/mitaka/vertica-configuration-groups.rst
Normal file
423
specs/mitaka/vertica-configuration-groups.rst
Normal file
@ -0,0 +1,423 @@
|
|||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
Sections of this template were taken directly from the Nova spec template at:
|
||||||
|
https://github.com/openstack/nova-specs/blob/master/specs/template.rst
|
||||||
|
|
||||||
|
============================
|
||||||
|
Vertica Configuration Groups
|
||||||
|
============================
|
||||||
|
|
||||||
|
Launchpad Blueprint:
|
||||||
|
https://blueprints.launchpad.net/trove/+spec/vertica-configuration-groups
|
||||||
|
|
||||||
|
Problem Description
|
||||||
|
===================
|
||||||
|
|
||||||
|
The Vertica guestagent currently does not support configuration groups for the
|
||||||
|
single instance case.
|
||||||
|
|
||||||
|
Proposed Change
|
||||||
|
===============
|
||||||
|
|
||||||
|
While Vertica has minimal required configuration as one of its design goals, it
|
||||||
|
is nonetheless possible to configure a large number of parameters [1]_.
|
||||||
|
|
||||||
|
Databases in Trove and Vertica
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
While Trove thinks of instances as being the parent of one or more databases,
|
||||||
|
following the model of single-server MySQL, Vertica supports one or more nodes
|
||||||
|
natively, and databases can span multiple nodes. Configuration options can
|
||||||
|
also be applied at both the node and database level.
|
||||||
|
|
||||||
|
The Vertica guest agent currently does not support multiple Vertica databases
|
||||||
|
for both the single instance and clustered cases, so only configuration
|
||||||
|
options valid at the database level will be exposed.
|
||||||
|
|
||||||
|
Configuration Changes
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Vertica recommends against writing configuration changes to a configuration
|
||||||
|
file for version 7.1. It is unclear if this applies to 7.2, or has been
|
||||||
|
remedied, but for the purposes of providing support for both 7.1 and 7.2,
|
||||||
|
writing to this file will be avoided [3]_. Configurations can be applied with
|
||||||
|
the use of the ALTER DATABASE command, and current configuration settings can
|
||||||
|
be retrieved via the CONFIGURATION_PARAMETERS system view [2]_.
|
||||||
|
|
||||||
|
Vertica supports 360 different options as of Vertica 7.2.1. Options related to
|
||||||
|
authentication and big data support have been excluded. For a complete list of
|
||||||
|
the options that will be supported, see the Appendix section.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Database
|
||||||
|
--------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Public API
|
||||||
|
----------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Public API Security
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Python API
|
||||||
|
----------
|
||||||
|
|
||||||
|
None (empty section added after merging)
|
||||||
|
|
||||||
|
CLI (python-troveclient)
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
None (empty section added after merging)
|
||||||
|
|
||||||
|
Internal API
|
||||||
|
------------
|
||||||
|
|
||||||
|
CLI (python-troveclient)
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
This work will enable the following client commands:
|
||||||
|
|
||||||
|
* configuration-attach
|
||||||
|
* configuration-create
|
||||||
|
* configuration-default
|
||||||
|
* configuration-delete
|
||||||
|
* configuration-detach
|
||||||
|
* configuration-instances
|
||||||
|
* configuration-list
|
||||||
|
* configuration-parameter-list
|
||||||
|
* configuration-parameter-show
|
||||||
|
* configuration-patch
|
||||||
|
* configuration-show
|
||||||
|
* configuration-update
|
||||||
|
|
||||||
|
Note that the configuration groups API is not currently supported for clusters,
|
||||||
|
so only support for single-instance Vertica will be provided.
|
||||||
|
|
||||||
|
Guest Agent
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* Implement *update_overrides* and *apply_overrides* in the *manager* and
|
||||||
|
*service* modules.
|
||||||
|
|
||||||
|
The following existing files will be updated:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
guestagent/datastore/experimental/vertica/manager.py
|
||||||
|
guestagent/datastore/experimental/vertica/service.py
|
||||||
|
guestagent/datastore/experimental/vertica/system.py
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Alex Tomic <atomic@tesora.com>
|
||||||
|
|
||||||
|
Milestones
|
||||||
|
----------
|
||||||
|
|
||||||
|
mitaka-3
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
- provide support for viewing and modifying the vertica database-level
|
||||||
|
configuration options
|
||||||
|
|
||||||
|
- implement configuration-related manager API calls:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
def update_overrides(self, context, overrides, remove=False)
|
||||||
|
def apply_overrides(self, context, overrides)
|
||||||
|
|
||||||
|
Upgrade Implications
|
||||||
|
====================
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
Unit tests will be added to validate implemented functions, and integration
|
||||||
|
tests added or modified from the new scenario testing framework as needed.
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
|
||||||
|
The datastore documentation should be updated to reflect the enabled features.
|
||||||
|
|
||||||
|
Dashboard Impact (UX)
|
||||||
|
=====================
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Appendix
|
||||||
|
========
|
||||||
|
|
||||||
|
The following is the list of parameters that will be supported:
|
||||||
|
|
||||||
|
ActivePartitionCount
|
||||||
|
AddressCollectorInterval
|
||||||
|
AdvanceAHMInterval
|
||||||
|
AHMBackupManagement
|
||||||
|
AllowNonAsciiNames
|
||||||
|
AnalyzeRowCountInterval
|
||||||
|
AnalyzeStatsPlanMaxColumns
|
||||||
|
AnalyzeStatsSampleBands
|
||||||
|
ARCCommitPercentage
|
||||||
|
AuditConfidenceLevel
|
||||||
|
AuditErrorTolerance
|
||||||
|
BasicVerticaOptions
|
||||||
|
BlockCacheSize
|
||||||
|
BufferQueryOutputForPossibleRetry
|
||||||
|
CachePositionIndex
|
||||||
|
CascadeResourcePoolAlwaysReplan
|
||||||
|
CatalogCheckpointChunkSizeKB
|
||||||
|
CatalogCheckpointMinLogSizeKB
|
||||||
|
CatalogCheckpointPercent
|
||||||
|
CatalogDeindexRename
|
||||||
|
CheckCRCs
|
||||||
|
CheckDataTargetSortOrder
|
||||||
|
ClusterRecoveryWait
|
||||||
|
CollationExpansion
|
||||||
|
CompressCatalogOnDisk
|
||||||
|
CompressDistCalls
|
||||||
|
CompressNetworkData
|
||||||
|
ComputeApproxNDVsDuringAnalyzeStats
|
||||||
|
ContainersPerProjectionLimit
|
||||||
|
CopyFromVerticaWithIdentity
|
||||||
|
DatabaseHeartbeatInterval
|
||||||
|
DBDCorrelationSampleRowCount
|
||||||
|
DBDCorrelationSampleRowPct
|
||||||
|
DBDCountDistinctSampleRowCount
|
||||||
|
DBDCountDistinctSampleRowPct
|
||||||
|
DBDDeploymentParallelism
|
||||||
|
DBDDynamicSampling
|
||||||
|
DBDEncodingSampleRowCount
|
||||||
|
DBDEncodingSampleRowPct
|
||||||
|
DBDLargestTableRowCountBoundary
|
||||||
|
DBDLogInternalDesignProcess
|
||||||
|
DBDMaxConcurrencyForEncodingExperiment
|
||||||
|
DBDRepLargeRowCountPct
|
||||||
|
DBDRepSmallRowCountPct
|
||||||
|
DBDSampleStorageBandCount
|
||||||
|
DBDSkewDetectionSampleRowCount
|
||||||
|
DBDSkewDetectionSampleRowPct
|
||||||
|
DBDUseOnlyDesignerResourcePool
|
||||||
|
DefaultIntervalStyle
|
||||||
|
DefaultSessionLocale
|
||||||
|
DisableInheritedPrivileges
|
||||||
|
DisableLocalResegmentation
|
||||||
|
DisableNodeDownOptimization
|
||||||
|
DisablePrejoinProjections
|
||||||
|
DisallowMars
|
||||||
|
DiskSpacePollingInterval
|
||||||
|
DMLCancelTM
|
||||||
|
EEVerticaOptions
|
||||||
|
EnableAccessPolicy
|
||||||
|
EnableAllRolesOnLogin
|
||||||
|
EnableApportionLoad
|
||||||
|
EnableAutoDMLStats
|
||||||
|
EnableBlockMemoryManager
|
||||||
|
EnableCooperativeParse
|
||||||
|
EnableDataCollector
|
||||||
|
EnabledCipherSuites
|
||||||
|
EnableEEThreadPool
|
||||||
|
EnableEMMJMultiblockSIPS
|
||||||
|
EnableExprsInProjections
|
||||||
|
EnableForceOuter
|
||||||
|
EnableGroupByProjections
|
||||||
|
EnableJIT
|
||||||
|
EnableNewPrimaryKeysByDefault
|
||||||
|
EnableNewUniqueKeysByDefault
|
||||||
|
EnableParallelHashBuild
|
||||||
|
EnableParallelSort
|
||||||
|
EnablePatternMatchingAnyRow
|
||||||
|
EnablePlanStability
|
||||||
|
EnablePlanStabilityLookup
|
||||||
|
EnableResourcePoolCPUAffinity
|
||||||
|
EnableRuntimePriorityScheduler
|
||||||
|
EnableSSL
|
||||||
|
EnableStorageBundling
|
||||||
|
EnableStrictTimeCasts
|
||||||
|
EnableTopKProjections
|
||||||
|
EnableUDTProjections
|
||||||
|
EnableUniquenessOptimization
|
||||||
|
EnableVirtualCoreCount
|
||||||
|
EpochMapInterval
|
||||||
|
EscapeStringWarning
|
||||||
|
EvaluateDeletePerformanceSampleStorageBandCount
|
||||||
|
EvaluateDeletePerformanceSampleStorageCount
|
||||||
|
ExcludeEphemeralNodesInQueries
|
||||||
|
ExternalTablesExceptionsLimit
|
||||||
|
FailoverToStandbyAfter
|
||||||
|
FencedUDxMemoryLimitMB
|
||||||
|
FilesPerProjectionLimit
|
||||||
|
FlexTableDataTypeGuessMultiplier
|
||||||
|
FlexTableRawSize
|
||||||
|
ForceUDxFencedMode
|
||||||
|
FsyncCatalogForLuck
|
||||||
|
FsyncDataForLuck
|
||||||
|
GBHashMemCapMB
|
||||||
|
GlobalEEProfiling
|
||||||
|
GlobalHeirUsername
|
||||||
|
GlobalQueryProfiling
|
||||||
|
GlobalSessionProfiling
|
||||||
|
GroupGeneratorHashingEnabled
|
||||||
|
HadoopConfDir
|
||||||
|
HCatConnectionTimeout
|
||||||
|
HCatParserName
|
||||||
|
HCatSlowTransferLimit
|
||||||
|
HCatSlowTransferTime
|
||||||
|
HCatSourceName
|
||||||
|
HCatWebserviceName
|
||||||
|
HCatWebserviceVersion
|
||||||
|
HistoryRetentionEpochs
|
||||||
|
HistoryRetentionTime
|
||||||
|
JavaBinaryForUDx
|
||||||
|
JavaSideProcessMinHeapSizeMB
|
||||||
|
KeepMinMaxOnAllColumns
|
||||||
|
LGELagThreshold
|
||||||
|
LoadMaxFinalROSCount
|
||||||
|
LockTimeout
|
||||||
|
LogHeartbeatInterval
|
||||||
|
LowDiskSpaceWarningPct
|
||||||
|
MaxAutoSegColumns
|
||||||
|
MaxBundleableROSSizeKB
|
||||||
|
MaxClientSessions
|
||||||
|
MaxConstraintChecksPerQuery
|
||||||
|
MaxDataCollectorFileSize
|
||||||
|
MaxDesiredEEBlockSize
|
||||||
|
MaxDVROSPerContainer
|
||||||
|
MaxLogLineLength
|
||||||
|
MaxMrgOutROSSizeMB
|
||||||
|
MaxOptMemMB
|
||||||
|
MaxOptMemMBInDBD
|
||||||
|
MaxParsedQuerySizeMB
|
||||||
|
MaxPartitionCount
|
||||||
|
MaxQueryRetries
|
||||||
|
MaxRecoverErrors
|
||||||
|
MaxRecoverHistoricPasses
|
||||||
|
MaxRefreshErrors
|
||||||
|
MaxRefreshHistoricPasses
|
||||||
|
MaxROSPerStratum
|
||||||
|
MergeJoinInnerInitialMB
|
||||||
|
MergeOutCache
|
||||||
|
MergeOutInterval
|
||||||
|
MinimumCatalogDiskMegabytes
|
||||||
|
MinimumDataDiskMegabytes
|
||||||
|
MinimumDataDiskTempMegabytes
|
||||||
|
MinSortMergeJoinMB
|
||||||
|
MoveOutInterval
|
||||||
|
MoveOutMaxAgeEpochs
|
||||||
|
MoveOutMaxAgeTime
|
||||||
|
MoveOutSizePct
|
||||||
|
NewEEGroupBySmallMemMB
|
||||||
|
NewEEROSSubdivisionRows
|
||||||
|
NewEEThreads
|
||||||
|
NoRecoverShutdownWait
|
||||||
|
OptVerticaOptions
|
||||||
|
ParallelizeLocalSegmentLoad
|
||||||
|
PatternMatchAllocator
|
||||||
|
PatternMatchingMatchLimitRecursion
|
||||||
|
PatternMatchingMaxPartition
|
||||||
|
PatternMatchingMaxPartitionMatches
|
||||||
|
PatternMatchingPerMatchWorkspaceSize
|
||||||
|
PatternMatchingUseJit
|
||||||
|
PatternMatchStackAllocator
|
||||||
|
PinProcessors
|
||||||
|
PinProcessorsOffset
|
||||||
|
PreExcavatorReplicatedProjection
|
||||||
|
PruneDataCollectorByTime
|
||||||
|
PruneSystemTableColumns
|
||||||
|
PurgeMergeoutPercent
|
||||||
|
RangeWindowMaxMem
|
||||||
|
ReapBeforeRecover
|
||||||
|
RecoverByContainer
|
||||||
|
RecoveryDirtyTxnWait
|
||||||
|
ReflexiveMoveout
|
||||||
|
RefreshByContainer
|
||||||
|
RemoteInitiatorBufSize
|
||||||
|
RemoveSnapshotInterval
|
||||||
|
ReplayDeleteAlgorithmSwitchThreshold
|
||||||
|
ResLowLimPctOfHighLim
|
||||||
|
RestrictSystemTables
|
||||||
|
ROSCacheBlocks
|
||||||
|
ROSCacheLargeBlocks
|
||||||
|
ROSPerStratum
|
||||||
|
SaveDCEEProfileThresholdUS
|
||||||
|
SecurityAlgorithm
|
||||||
|
SegmentAutoProjection
|
||||||
|
SegmentDataCollector
|
||||||
|
SessionProfilingAgeOut
|
||||||
|
SlowDeleteConsoleWarningLimit
|
||||||
|
SlowDeleteSystemWarningLimit
|
||||||
|
SmallROSSize
|
||||||
|
SnapshotRetentionTime
|
||||||
|
SnmpTrapDestinationsList
|
||||||
|
SnmpTrapEvents
|
||||||
|
SnmpTrapsEnabled
|
||||||
|
SortCheckOption
|
||||||
|
SortOrderReportLevel
|
||||||
|
SortWorkerThreads
|
||||||
|
SSLCA
|
||||||
|
SSLCertificate
|
||||||
|
SSLPrivateKey
|
||||||
|
StandardConformingStrings
|
||||||
|
StrictUDxParameterChecking
|
||||||
|
SyslogEnabled
|
||||||
|
SyslogEvents
|
||||||
|
SyslogFacility
|
||||||
|
SystemMonitorInterval
|
||||||
|
SystemMonitorThreshold
|
||||||
|
TerraceRoutingFactor
|
||||||
|
TextIndexComputeDeletedTokens
|
||||||
|
TextIndexMaxTokenLength
|
||||||
|
TopKHeapMaxMem
|
||||||
|
TransactionIsolationLevel
|
||||||
|
TransactionMode
|
||||||
|
TrustConstraintsAsUnique
|
||||||
|
UDxFencedBlockTimeout
|
||||||
|
UDxFencedCancelTimeout
|
||||||
|
UDxFencedExternalProcedureTimeout
|
||||||
|
UseModularHashForReseg
|
||||||
|
UseOnlyResilientRedistribution
|
||||||
|
UseRecoveringNodesInVirtualTableQueries
|
||||||
|
UseSafeDecompression
|
||||||
|
UseV50IntegerDivision
|
||||||
|
UseZygoteForExternalProcedures
|
||||||
|
WarnOnIncompleteStartupPacket
|
||||||
|
WithClauseMaterialization
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. [1] https://my.vertica.com/docs/7.2.x/HTML/index.htm#Authoring/AdministratorsGuide/ConfiguringTheDB/ConfiguringTheDatabase.htm
|
||||||
|
.. [2] https://my.vertica.com/docs/7.2.x/HTML/Content/Authoring/SQLReferenceManual/SystemTables/MONITOR/CONFIGURATION_PARAMETERS.htm
|
||||||
|
.. [3] https://my.vertica.com/docs/7.2.x/HTML/index.htm#Authoring/AdministratorsGuide/ConfiguringTheDB/SettingandClearingConfigParameters.htm
|
Loading…
Reference in New Issue
Block a user