//////////////////////////////////////////////////////////////////////////////// /// @brief dba guide guide /// /// @file /// /// DISCLAIMER /// /// Copyright 2012 triagens GmbH, Cologne, Germany /// /// Licensed under the Apache License, Version 2.0 (the "License"); /// you may not use this file except in compliance with the License. /// You may obtain a copy of the License at /// /// http://www.apache.org/licenses/LICENSE-2.0 /// /// Unless required by applicable law or agreed to in writing, software /// distributed under the License is distributed on an "AS IS" BASIS, /// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. /// See the License for the specific language governing permissions and /// limitations under the License. /// /// Copyright holder is triAGENS GmbH, Cologne, Germany /// /// @author Dr. Frank Celler /// @author Copyright 2012, triAGENS GmbH, Cologne, Germany //////////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // --SECTION-- DBA MANUAL // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// /// @page DbaManual ArangoDB's DBA Manual (@VERSION) /// /// @if LATEX /// /// @else /// @copydetails DbaManualBasicsTOC /// @copydetails DbaManualAuthenticationTOC /// @copydetails DbaManualDatafileDebuggerTOC /// @copydetails ShellCollectionTOC /// @copydetails ShellIndexTOC /// @copydetails IndexesTOC /// @endif //////////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // --SECTION-- DBA MANUAL BASCIS // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualBasicsTOC /// /// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualBasics Administrating ArangoDB /// /// @EMBEDTOC{DbaManualBasicsTOC} /// /// @section DbaManualBasicsDurability Mostly Memory/Durability /////////////////////////////////////////////////////////////// /// /// Database documents are stored in memory-mapped files. Per default, these /// memory-mapped files are synced frequently - storing all documents securely /// at once (durability). /// /// @section DbaManualBasicsMvcc AppendOnly/MVCC //////////////////////////////////////////////// /// /// Instead of overwriting existing documents, a completely new version of the /// document is generated. The two benefits are: /// /// - Objects can be stored coherently and compactly in the main memory. /// - Objects are preserved-isolated writing and reading transactions allow /// accessing these objects for parallel operations. /// /// The system collects obsolete versions as garbage, recognizing them as /// forsaken. Garbage collection is asynchronous and runs parallel to other /// processes. /// /// @section DbaManualBasicsConfig Configuration //////////////////////////////////////////////// /// /// @copydetails JS_PropertiesVocbaseCol //////////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // --SECTION-- DBA MANUAL AUTHENTICATION // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualAuthenticationTOC /// /// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualAuthentication Authentication and Authorisation /// /// @EMBEDTOC{DbaManualAuthenticationTOC} /// /// ArangoDB only provides a very simple authentication interface and /// no authorisation. We plan to add authorisation features in later /// releases, which will allow the administrator to restrict access to /// collections and queries to certain users, given them either read /// or write access. /// /// Currently, you can only secure the access to the HTTP client and /// admin port in a all-or-nothing fashion. /// The collection @LIT{_users} contains all user and the SHA256 of /// their passwords. A user can be active or inactive. A typical document /// of this collection is /// /// @verbinclude user-document /// /// If the server is started using the option /// /// @LIT{--server.http-auth yes} /// /// then access via HTTP requires a user name and password using "basic /// authentication". The user must exists in the @LIT{_users} /// collection and must be active. /// /// In order to generate an entry, you can use the supplied shell script /// /// @LIT{/usr/sbin/arango-password \ [\]} /// /// Note that you must stop the @LIT{arangod} server before executing this /// script. /// /// @section DbaManualAuthenticationCommandLine Command-Line Options for the Authentication and Authorisation ///////////////////////////////////////////////////////////////////////////////////////////////////////////// /// /// @anchor CommandLineArangoHttpAuth /// @copydetails triagens::arango::ArangoServer::_httpAuth //////////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // --SECTION-- DBA MANUAL DATAFILE DEBUGGER // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualDatafileDebuggerTOC /// /// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page DbaManualDatafileDebugger Datafile Debugger /// /// @EMBEDTOC{DbaManualDatafileDebuggerTOC} /// /// AranagoDB uses append-only journals. The corruption should only occur when /// the database server is kill. In this case, the corruption should only /// occur in the last object(s) being written to the journal. /// /// If a corruption occurs within a normal datafile, then this can only happen /// if a hardware fault occurred. /// /// If a journal or datafile is corrupt, shutdown the database server and start /// the program /// /// @LIT{arango-dfdb} /// /// in order to check the consistency of the datafiles and journals. //////////////////////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // --SECTION-- END-OF-FILE // ----------------------------------------------------------------------------- // Local Variables: // mode: c++ // mode: outline-minor // outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)" // End: