Package Name | Comment |
org.continuent.sequoia.common.authentication |
Authentication manager core.
|
org.continuent.sequoia.common.exceptions |
Sequoia Exceptions package. Contains both Exception classes and ExceptionTypes description.
|
org.continuent.sequoia.common.exceptions.driver |
Exceptions related to Sequoia driver.
|
org.continuent.sequoia.common.exceptions.driver.protocol |
Exceptions related to Sequoia driver protocol.
|
org.continuent.sequoia.common.i18n |
This simple package is meant to manipulate all internationalization transactions. All language properties are handled in property files. (Current name is
sequoia-language.properties with the usual internationalization subnames.)
|
org.continuent.sequoia.common.jmx |
This package offers all the common jmx classes to the agent and the client.
|
org.continuent.sequoia.common.jmx.management |
Info classes used by management classes.
|
org.continuent.sequoia.common.jmx.mbeans |
All the MBeans interface used in Sequoia.
|
org.continuent.sequoia.common.jmx.monitoring |
Used for collecting data.
|
org.continuent.sequoia.common.jmx.monitoring.backend |
Used for collecting data from backends.
|
org.continuent.sequoia.common.jmx.monitoring.cache |
Used for collecting data from cache.
|
org.continuent.sequoia.common.jmx.monitoring.client |
Used for collecting data from client.
|
org.continuent.sequoia.common.jmx.monitoring.controller |
Used for collecting data from controller.
|
org.continuent.sequoia.common.jmx.monitoring.scheduler |
Used for collecting data from scheduler.
|
org.continuent.sequoia.common.jmx.monitoring.virtualdatabase |
Used for collecting data from virtual database.
|
org.continuent.sequoia.common.jmx.notifications |
JmxNotification that can be sent are in the list SequoiaNotificationList .
JmxNotification themselves are created from the JmxNotification class
and are serialized via xml.
|
org.continuent.sequoia.common.locks |
Utilitary synchronization tools.
|
org.continuent.sequoia.common.log |
Log wrapper that interfaces with log4j.
|
org.continuent.sequoia.common.net |
SSL support for encryption and authentication.
|
org.continuent.sequoia.common.protocol |
Utilitary protocol tools.
|
org.continuent.sequoia.common.sql |
SQL requests that are sent from the Sequoia driver to the Sequoia controller.
|
org.continuent.sequoia.common.sql.filters |
Set of filters to use to encode blobs within Sequoia to be database independent
|
org.continuent.sequoia.common.sql.metadata |
Classes used for transmission of metadata to the driver.
|
org.continuent.sequoia.common.sql.schema |
Database schema handling for parsing SQL requests.
|
org.continuent.sequoia.common.stream |
Limited extension of the default ObjectOutputStream and ObjectInputStream classes. This allows to enable/disable
compression on the different streams, and to gather statistics on the amount/speed of data that is exchanged.
|
org.continuent.sequoia.common.stream.encoding |
Set of encoding implementations for streams
|
org.continuent.sequoia.common.users |
User objects used in the controller and in the console to authenticate access to different resources.
|
org.continuent.sequoia.common.util |
Sequoia internal utilities such as locks, statistics and exceptions.
|
org.continuent.sequoia.common.xml |
Xml generic classes for Sequoia.
|
org.continuent.sequoia.console.jmx |
This package offers all the classes for the different jmx clients. This is mainly a wrapper package to remove invocation problems, connections concerns and the disgusting methog invocation format in jmx
|
org.continuent.sequoia.console.text |
Sequoia text console
List of consoles
- {@link org.continuent.sequoia.console.text.module.ControllerConsole controller console}
- {@link org.continuent.sequoia.console.text.module.VirtualDatabaseAdmin VirtualDataBase admin console}
- {@link org.continuent.sequoia.console.text.module.VirtualDatabaseConsole VirtualDataBase console}
Design
Modules
in the code, a console (e.g. controller console) is represented by a module.
- the main module is {@link org.continuent.sequoia.console.text.module.ControllerConsole}
- each module is represented by a subtype of {@link org.continuent.sequoia.console.text.module.AbstractConsoleModule}
- each module has a list of commands set in its {@link org.continuent.sequoia.console.text.module.AbstractConsoleModule#loadCommands()} method
Commands
The commands follow the Command Pattern.
- each command is represented by a subtype of {@link org.continuent.sequoia.console.text.commands.ConsoleCommand}
- each command has a {@link org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(String)} method which represents the command to execute
- most of the command are mapped to a command on Sequoia through MBeans
- calls to JMX are handled by JMX proxies through {@link org.continuent.sequoia.console.jmx.RmiJmxClient}
|
org.continuent.sequoia.console.text.commands |
Commands for the Sequoia text console.
|
org.continuent.sequoia.console.text.commands.controller |
Commands for the admin console.
|
org.continuent.sequoia.console.text.commands.dbadmin |
Commands for the monitoring console.
|
org.continuent.sequoia.console.text.commands.sqlconsole |
Commands for the SQL client console.
|
org.continuent.sequoia.console.text.formatter |
Utilitary tools used by the text console.
|
org.continuent.sequoia.console.text.module |
Modules for the Sequoia text console.
|
org.continuent.sequoia.controller.backend |
Database backend core.
|
org.continuent.sequoia.controller.backend.management |
Used for backend management.
|
org.continuent.sequoia.controller.backend.result |
Used to store results of requets (ResulSet, generated keys, ...).
|
org.continuent.sequoia.controller.backend.rewriting |
To be backend independant, some query must be transformed to adapt to different vendors.
This package is used for query rewriting based on different set of rules
|
org.continuent.sequoia.controller.backup |
Set of classes to wrap calls and execution of Octopus to execute backup and recovery of databases.
|
org.continuent.sequoia.controller.backup.backupers |
Contains backupers classes allowing to do backup/restore operations and to manage
dumps. Backupers for MySQL, PostgreSQL, Derby using native database tools are
provided.
|
org.continuent.sequoia.controller.cache |
Defines interface for using and implementing sql caching in Sequoia.
|
org.continuent.sequoia.controller.cache.metadata |
MetadataCache caches ResultSet meta-information for improved memory usage and ResultSet serialization.
|
org.continuent.sequoia.controller.cache.parsing |
ParsingCache caches the request parsing meta-information so that a request is
parsed only once if it is executed secveral times.
|
org.continuent.sequoia.controller.cache.result |
ResultCache is an implementation of the AbstractResultCache.
This includes different classes of parsing for a in-memory schema: Database,Table,Column,ColumnUnique.
|
org.continuent.sequoia.controller.cache.result.entries |
Query cache entries implementations.
|
org.continuent.sequoia.controller.cache.result.rules |
Rules to apply to the parsed request for the cache.
NoCaching blocks request from beeing cached,
EagerCaching force the cache to be coherent with the database
RelaxedCaching allow a time delay between the cache and the actual value from the database
|
org.continuent.sequoia.controller.cache.result.schema |
Database schema management for query caches.
|
org.continuent.sequoia.controller.cache.result.threads |
Threads used by the result cache.
|
org.continuent.sequoia.controller.connection |
Connection managers implementations (mainly connection pooling).
|
org.continuent.sequoia.controller.core |
Sequoia controller bootstrap and interfaces. Includes other sub-packages for specific functionalities like backup, shutdown ...
|
org.continuent.sequoia.controller.core.security |
Include set of classes to control and secure access to the controller.
At the present time, this selection is ip based, and can be defined in the controller xml configuration file
|
org.continuent.sequoia.controller.core.shutdown |
Set of classes for properly execute shutdown of controller, databases and backends.
|
org.continuent.sequoia.controller.jmx |
This package offers all the classes necessary to start and manage a jmx agent.
Adaptors to connect to the agent are also in this package
|
org.continuent.sequoia.controller.loadbalancer |
All Sequoia load balancers are subpackage of this one which provides the load balancer interface and the core backend thread.
|
org.continuent.sequoia.controller.loadbalancer.paralleldb |
ParallelDB load balancers to use with parallel databases.
|
org.continuent.sequoia.controller.loadbalancer.policies |
Load balancer policies.
|
org.continuent.sequoia.controller.loadbalancer.policies.createtable |
Table creation policies load balancers managing partial replication.
|
org.continuent.sequoia.controller.loadbalancer.policies.errorchecking |
Error checking policies for RADb-Xec load balancers.
|
org.continuent.sequoia.controller.loadbalancer.raidb0 |
RAIDb-0 load balancers.
|
org.continuent.sequoia.controller.loadbalancer.raidb1 |
RAIDb-1 (full replication) load balancers.
|
org.continuent.sequoia.controller.loadbalancer.raidb2 |
RAIDb-2 (partial replication) load balancers.
|
org.continuent.sequoia.controller.loadbalancer.singledb |
Load balancer for single backend systems.
|
org.continuent.sequoia.controller.loadbalancer.tasks |
BackendWorkerThread tasks for distributed query execution.
@see org.continuent.sequoia.controller.loadbalancer.BackendWorkerThread
|
org.continuent.sequoia.controller.management |
Used for controller management.
|
org.continuent.sequoia.controller.monitoring |
Abstract class to monitor Sequoia request and sql implementation.
|
org.continuent.sequoia.controller.monitoring.datacollector |
This regroups all the common interfaces and mbeans to collect information on the system, and eventually
make a trace of it.
This allow to group and filter all the graph updaters to use the same mbeans.
|
org.continuent.sequoia.controller.recoverylog |
Recovery Log core.
|
org.continuent.sequoia.controller.recoverylog.events |
Defines actions that manipulate the recovery log (like logging a request).
|
org.continuent.sequoia.controller.requestmanager |
Request Manager core including the request parsing cache.
|
org.continuent.sequoia.controller.requestmanager.distributed |
Distributed implementation of the request manager. Everything has been done so the design for one controller and multiple controller behave in the same manner.
|
org.continuent.sequoia.controller.requests |
Defines the SQL request objects used by Sequoia to represent real SQL requests.
|
org.continuent.sequoia.controller.scheduler |
All Sequoia schedulers are subpackage of this one which provides the scheduler interface in the AbstractScheduler class.
|
org.continuent.sequoia.controller.scheduler.raidb0 |
RAIDb-0 schedulers.
|
org.continuent.sequoia.controller.scheduler.raidb1 |
RAIDb-1 (full replication) schedulers.
|
org.continuent.sequoia.controller.scheduler.raidb2 |
RAIDb-2 (partial replication) schedulers.
|
org.continuent.sequoia.controller.scheduler.schema |
Database schema handling for schedulers.
|
org.continuent.sequoia.controller.scheduler.singledb |
Schedulers for single backend system.
|
org.continuent.sequoia.controller.virtualdatabase |
Virtual database core code including connection handling.
|
org.continuent.sequoia.controller.virtualdatabase.activity | |
org.continuent.sequoia.controller.virtualdatabase.management |
Used for virtual database management.
|
org.continuent.sequoia.controller.virtualdatabase.protocol |
Group messages between controllers replicating a distributed virtual database.
All classes should extend DistributedVirtualDatabaseMessage.
|
org.continuent.sequoia.controller.xml |
XML configuration files parsing.
|
org.continuent.sequoia.driver |
Sequoia driver core.
|
org.continuent.sequoia.driver.connectpolicy |
Defines the controller connection policies used by the driver to choose a
controller to connect to.
|