Difference between revisions of "DBA"

From BaseX Documentation
Jump to navigation Jump to search
(7 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
* The code base is supposed to inspire and motivate you developing your own RESTXQ web applications.
 
* The code base is supposed to inspire and motivate you developing your own RESTXQ web applications.
* The XQuery DBA code is very slick; the XQuery code consumes less than 150 KB. It uses plain and simple JavaScript and no framework.
+
* The XQuery DBA code is very slick; it consumes less than 150 KB. It uses plain and simple JavaScript and no framework.
 
* We tried to make the DBA features as self-explanatory as possible. All functionalities are also available via [[Commands]], [[Module Library|XQuery Modules]] or the Java [[GUI]].
 
* We tried to make the DBA features as self-explanatory as possible. All functionalities are also available via [[Commands]], [[Module Library|XQuery Modules]] or the Java [[GUI]].
 
* The {{Code|dba}} sub-directory can simply be copied and moved to any other place. All URL paths point to the same directory; it should be straightforward to adjust the RESTXQ path.
 
* The {{Code|dba}} sub-directory can simply be copied and moved to any other place. All URL paths point to the same directory; it should be straightforward to adjust the RESTXQ path.
Line 20: Line 20:
 
* Open a browser and visit the URL {{Code|http://localhost:8984/dba}}
 
* Open a browser and visit the URL {{Code|http://localhost:8984/dba}}
  
=First Steps=
+
On the welcome page, you need to authenticate yourself by entering the name and password of an admin user. The default user is {{Code|admin}}/{{Code|admin}}; after the first login, the password should be changed via the [[DBA#Users|Users]] panel and create additional DBA users.
  
On the welcome page, you need to authenticate yourself by entering the name and password of an admin user. The default user is {{Code|admin}}/{{Code|admin}}; after the first login, the password should be changed via the Users panel.
+
=Logs=
 
 
==Logs==
 
  
 
All [[Logging|database logs]] are listed, ordered by creation time in descending order. The interactive filter allows you to search in the users and text columns via regular expressions. The found substrings are highlighted in the output.
 
All [[Logging|database logs]] are listed, ordered by creation time in descending order. The interactive filter allows you to search in the users and text columns via regular expressions. The found substrings are highlighted in the output.
Line 30: Line 28:
 
For each day, a new log files is created. Old log files can be selected and deleted.
 
For each day, a new log files is created. Old log files can be selected and deleted.
  
==Databases==
+
=Databases=
  
 
The database panel contains a list of all databases. Databases can be created, optimized and dropped. If a database is selected, the database resources, backups and properties are listed. Queries can be run on single database resources.
 
The database panel contains a list of all databases. Databases can be created, optimized and dropped. If a database is selected, the database resources, backups and properties are listed. Queries can be run on single database resources.
  
[[Image:DBA-Databases.png|778px|DBA Main Page]]
+
[[Image:DBA-Databases.png|778px|DBA Databases Panel]]
 +
 
 +
=Queries=
 +
 
 +
XQuery expressions can be run in the Queries panel. If evaluation takes too long, or if it consumes too much memory, the execution will be interrupted. You can choose if your query is updating or not.
 +
 
 +
Inside the editor area, you can press Ctrl-Enter to execute the query. You can press Shift-Ctrl-Enter to run your XQuery expression as updating query (or non-updating, if "Updating" is chosen in the dropdown menu).
 +
 
 +
Existing queries can be opened, and saved for future operations. All files will be stored in the current DBA working directory.
 +
 
 +
=Files=
 +
 
 +
Remote files can be downloaded, opened in the query editor or run as BaseX jobs, and new files can be uploaded. The chosen directory affects the Queries panel.
 +
 
 +
You can edit your RESTXQ code in real time by switching to the RESTXQ or repository directory and opening the corresponding modules.
 +
 
 +
[[Image:DBA-Files.png|775px|DBA File Panel]]
 +
 
 +
=Jobs=
 +
 
 +
In the Jobs panel, all queries are listed that are currently being run or queued. You can view details on particular jobs, spot potential bottlenecks, or spot and kill malicious requests. The panel will always list at least one job, which is the one that is currently preparing your HTTP response.
 +
 
 +
=Users=
 +
 
 +
Existing users can be updated and new users can be created. Extra information can be viewed and modified both globally and locally (see [[User Management]] for more information).
 +
 
 +
=Sessions=
 +
 
 +
The Web Sessions table lists all users that are currently registered in an application or the DBA. See the DBA RESTXQ code for information on how clients can be registered and logged out.
  
=Editor=
+
The Database Sessions table shows clients that are connected via the client/server architecture.
  
In the editor panel, you can execute XQuery expressions. If evaluation takes too long, or if it consumes too much memory, it will be interrupted. You need to choose if your query is updating. Inside the editor area, you can press Ctrl-Enter to execute the query.
+
=Settings=
  
You can press Shift-Ctrl-Enter to run your XQuery expression as updating query (or non-updating, if "Updating" is chosen in the dropdown menu). The real time mode was removed.
+
In the settings, you can tweak some DBA options, enforce a garbage collection and view all current global and local databases options.
  
 
=Changelog=
 
=Changelog=

Revision as of 10:43, 13 July 2020

This page is part of the Getting Started Section.

The full distributions of BaseX are equipped with a browser-based database administration interface, the DBA. It allows you to create and administrate databases, evaluate queries in real time, view log files, monitor logged-in users, manage users, etc. The server-side code is completely written in XQuery and RESTXQ.

These were our design goals:

  • The code base is supposed to inspire and motivate you developing your own RESTXQ web applications.
  • The XQuery DBA code is very slick; it consumes less than 150 KB. It uses plain and simple JavaScript and no framework.
  • We tried to make the DBA features as self-explanatory as possible. All functionalities are also available via Commands, XQuery Modules or the Java GUI.
  • The dba sub-directory can simply be copied and moved to any other place. All URL paths point to the same directory; it should be straightforward to adjust the RESTXQ path.

If you put DBA online along with your web page, please ensure at the very least that:

  • you have changed the password of your BaseX admin user, and
  • the BaseX process has not been started with admin privileges.

Startup

On the welcome page, you need to authenticate yourself by entering the name and password of an admin user. The default user is admin/admin; after the first login, the password should be changed via the Users panel and create additional DBA users.

Logs

All database logs are listed, ordered by creation time in descending order. The interactive filter allows you to search in the users and text columns via regular expressions. The found substrings are highlighted in the output.

For each day, a new log files is created. Old log files can be selected and deleted.

Databases

The database panel contains a list of all databases. Databases can be created, optimized and dropped. If a database is selected, the database resources, backups and properties are listed. Queries can be run on single database resources.

DBA Databases Panel

Queries

XQuery expressions can be run in the Queries panel. If evaluation takes too long, or if it consumes too much memory, the execution will be interrupted. You can choose if your query is updating or not.

Inside the editor area, you can press Ctrl-Enter to execute the query. You can press Shift-Ctrl-Enter to run your XQuery expression as updating query (or non-updating, if "Updating" is chosen in the dropdown menu).

Existing queries can be opened, and saved for future operations. All files will be stored in the current DBA working directory.

Files

Remote files can be downloaded, opened in the query editor or run as BaseX jobs, and new files can be uploaded. The chosen directory affects the Queries panel.

You can edit your RESTXQ code in real time by switching to the RESTXQ or repository directory and opening the corresponding modules.

DBA File Panel

Jobs

In the Jobs panel, all queries are listed that are currently being run or queued. You can view details on particular jobs, spot potential bottlenecks, or spot and kill malicious requests. The panel will always list at least one job, which is the one that is currently preparing your HTTP response.

Users

Existing users can be updated and new users can be created. Extra information can be viewed and modified both globally and locally (see User Management for more information).

Sessions

The Web Sessions table lists all users that are currently registered in an application or the DBA. See the DBA RESTXQ code for information on how clients can be registered and logged out.

The Database Sessions table shows clients that are connected via the client/server architecture.

Settings

In the settings, you can tweak some DBA options, enforce a garbage collection and view all current global and local databases options.

Changelog

Version 9.4
  • Updated: Logging was improved for millions of log entries
Version 8.6
  • Updated: Always accessible, even if job queue is full
  • Removed: Remote connections (to allow for better optimizations and less locking)
Version 8.4
  • Added: Editor: Key combination 'Shift-Ctrl-Enter', real time mode removed.

Introduced with Version 8.0.