In recent times as the need for large, organized and especially reliable data stores has increased, so has the need for easy management of these resources. It is inevitable that every business seeks databases that can hold their data and provide proper management tools to manage it. The job for the Database Administrators is already challenging, and with the switch from single node systems (residing on one server/machine) to clustered systems (residing on multiple machines/servers), managing resources can be very stressful. Now when you think about managing clustered database systems, you have to manage the databases, their respective properties, and also the clusters on which these databases reside.
NosDB solves this headache with “NosDB Management Studio”, allowing you to operate multiple machines from a single location, easily and efficiently. Before we proceed to how NosDB solves your problems let us briefly examine what NosDB is. NosDB is a clustered database system, which insures reliability by accommodating large amounts of data in databases, on different servers. A cluster in NosDB is comprised of shards on which the data is distributed on the basis of configurable distribution strategies. Each shard may have one or more replica nodes which replicate data of the shard. This works just like an internal fault tolerant backup system, so that you don’t have to worry about data losses. Explore more about clusters and their concepts with NosDB Conceptual Guide.
NosDB Management Studio is divided into two distinct sections, and has tools to manage each section and other tools that manage both sections at once:
- Managing Clusters
- Managing Databases
Managing Clusters through NosDB Management Studio
When we think of a clustered or distributed system it is clear that we are talking about multiple machines/servers within a cluster. NosDB Management Studio gives access to all these servers in one view so you do not have to switch to different servers in order to monitor and manage them. NosDB Management Studio provides the option to either create a new cluster or connect to a previously created cluster. There are no limits to how many instances of a cluster can be connected at a time in a single instance of the Management Studio. Clusters can be created, connected, viewed and altered according to your needs. When you create or connect to a cluster, all of its shards and nodes are displayed like a vertical tree structure in the “Object Explorer” and can be managed through it as shown below.
The functions that can be performed on a cluster through the Management Studio are:
- Create/Remove cluster
- Connect/Disconnect Cluster
- Adding/Removing shards
- Adding/Removing nodes of the shards
- Start/Stop Shard
- Start/Stop Node
- Refresh cluster
- View and change properties of the shard/ node
While creating a cluster you can configure its respective properties. Cluster names, server IPs, server ports and MapReduce are a few configuration options.
Feeling relaxed yet? There is more! NosDB Management Studio can access standalone (local) databases as well. So, if you are a just learning and want to try out NosDB operations locally, Management Studio is a stress free tool to learn about server/cluster management.
Managing Databases through NosDB Management Studio
NosDB Management Studio provides the ability manage databases as well as clusters. Use Management Studio to create a database system, with multiple collections, and then organize the database according to your business needs. The following are brief descriptions of what NosDB Management Studio offers you while managing your databases.
Create a DB System
NosDB Management Studio makes creation, management and removal of databases as easy as that of clusters. When you connect to a cluster, all the databases and their collections appear on the object explorer under the heading of ‘Databases’. To create a database you can use the drop down list that appears by clicking the ‘Databases’ heading. Similarly, the collections within the databases can also be created the same way. The interface then provides a step by step process to configure database and collection properties.
NosDB databases offer different storage, caching and journaling options and the collections can have different shard distribution strategies to suit your needs. The properties of an already created database or collection can also be viewed and altered through the Management Studio.
NosDB Management Studio also has ease of deployment of server side logic at the collection and database level. You can define indices on attributes of a collection for efficient querying of data within a collection. Triggers and User Defined Functions as well as the code for MapReduce and Aggregator can be deployed on the server side. NosDB Management Studio deploys this code to all the server nodes of the cluster for you, so that you do not have to worry about its deployment to every node individually. Also, they are deployed on the servers permanently. These deployments exist on the servers until they are deleted or the cluster is removed. They need not be deployed over and over again, making your job effortless and less redundant.
Built in Statistics
NosDB Management Studio has a built in monitoring option to examine operational performance and cluster health. NosDB uses Windows Performance Monitor counters which makes it easy for you to use any third party application to monitor NosDB. Basic performance counters of the databases can be viewed for each node separately within a cluster. This way you can administer load balancing and replication behaviors between the nodes for a given database. It is intuitive to use, making administration of your resources easy to manage. The following screenshot is an example of how statistical information is displayed on the screen of a cluster consisting of two shards, each with two nodes.
Backup and Restore
For any database system, Backup and Restore is a major feature. NosDB Management Studio offers you a GUI based backup/restore mechanism on a local or a network path. Regardless of how many servers make up your database, you can trigger backup activity on all the nodes from a single location and you need not worry about backing up data from each server separately. Any task can be configured to be a full or differential backup/restore. A current task’s status can be monitored, and a task’s history can be tracked through Studio. The starting date, database name, job type (Backup or Restore) and status of the job is shown in a tabular form so that it is easy to track the progress of multiple tasks at the same time. A Task History Dialog sample is shown below.
Migration from Standalone to Clustered Database
Migration from a standalone database to a clustered database is also offered by NosDB Management Studio. The Studio manages the conversion changes, from standalone to cluster, internally and hides them from the front end. For you, it’s as simple as giving the command and Studio does all the work.
Other Management Operations
Apart from all the aforementioned cluster and database management options this section lists operations for both databases and clusters.
NosDB Management Studio provides security management for individual clusters as well as databases. Any machine’s login can be created, and then a user can be configured at run time for that login, with appropriate permissions on the cluster and/or database. Refer to Configuring Security for details of security roles provided by NosDB.
Management Error Logging
Another Database Administrator dilemma is to deduce a problem/issue that has occurred, due to which your cluster has malfunctioned. NosDB Management Studio provides detailed error logging of any errors that occur while performing management operations, which can help you find solutions to your problems very quickly.
Extension to PowerShell
NosDB includes “NosDB PowerShell” for management operations using PowerShell script, such as creating multiple clusters, databases, collections or do any other management operations. Want to avoid being redundant? Create a PowerShell script using NosDB PowerShell for your basic management operations and Management Studio lets you easily detour from the Studio to NosDB PowerShell. To execute the script you can access PowerShell through Tools -> PowerShell.
NosDB Monitor can be accessed directly from NosDB Management Studio. You can access NosDB Monitor by going to Tools -> Monitor. You can monitor cluster health and connectivity of each node within the cluster in a graphical form such as shown below.
NosDB Monitor can be used to manage and organize resources to make use of them as efficiently as possible according to your business policies. NosDB Monitor provides a variety of other options to find solutions that improve performance of your cluster resources and operations. Explore more about NosDB monitoring in NosDB Monitor.
NosDB Management Studio offers a complete database and cluster management and monitoring package for your business. NosDB Management Studio is ergonomically designed to make your configuration and operational experience as easy and user friendly as possible. It eases a Database Administrator’s job by providing management and monitoring controls, which will let you view and explore clustered databases in depth. For programming ease, NosDB Management Studio is also integrated with Visual Studio. More details about NosDB Management Studio can be viewed in NosDB GUI Administrator’s Guide.