At my fulltime job, we have a dizzying amount of database types. We have
Oracle, DB2, Sybase, SQL Server and yes Access (if you can call that a
database). You can imagine my excitement when I was told that we will now begin
to standardize our database platforms across the enterprise to SQL Server and
DB2 based on the project scope. The main issue we had during the migrations was
easily porting a data model from one database type to another. This posed
cumbersome and some tools I used were unsuccessful in easily transferring the
schema.
Then, I had the opportunity to review MYdbPAL Professional 1.0. MYdbPAL
is more than just another schema generator. It's a complete database toolkit. In
short, it helps a database professional perform the following tasks:
- Generate database-independent schemas that can easily be ported between
database types
- Externalize and transfer data from one database to another
- Produce DDL (Database Definition Language) scripts that can be used to
create databases, tables and their supporting objects.
- Version control your schema and create a management system to control
changes
- Roll back to previous versions of the schema or approve changes
- Create databases easily from your schema files
There are two major components to MYdbPAL Professional: Studio and Workshop.
Studio is where you where you create, manage, and view your schema files.
Workshop is where you can perform other actions to the schema or other items. In
Workshop for example, you can transfer data from one server on Oracle to another
server in SQL Server. So let's look at a few of the key components of each of
these areas in the program.
Workshop
As you can see in the below screenshot, the MYdbPAL interface is unlike any
program you may have ever worked in before. This presents a challenging learning curve
that is corrected by the handy online help. The tutorial I found to be adequate,
but needed more hands-on interaction in order to really drive the points home. The
tutorial does walk you through step-by-step how to do something, but it does not
have you do an example, which is how I generally learn.
The Workshop interface consists of a few essential areas. The first is the
Workbench. In the Workbench, you create all of the objects you see yourself
using often. This would be the first step of creating any Workshop task. To do
this, click the Objects menu and select Add Item. You are then presented with
the below dialog box. From this, you can see the vastness of the database types
you can connect to.
In this dialog box, you can select the type of object you'd like to create,
use and store. Some of the objects that can be created are:
- Database
- DDL Script
- Schema
- Externalized Dataset
- Flat Dataset
Inside the Workshop component, I found that many of the interface
commonalities in most programs were not shared by MYdbPAL. For example, to open
a Workshop that I previously worked on, you select from the Workshop drop-down
box Import From File, then you're prompted to select the file you saved. As you
find the file in your directory, you can not double-click on the file to open
it. Instead, you have to click Select after the file was selected. This among
other items presented an interface learning curve, which made the application
hard to use at first. Another example of an oddity is when
you try to add users, there is no cancel button (shown below). To get around
this, I had to create a bad user and then delete him. Once these types of quirks
are learned, you'll find yourself navigating through MYdbPAL with ease.
As you move your mouse over almost any item, the real-time help dialog
updates you with what that object does. The only place this does not apply to
are the objects in the WorkBench like schema objects. This too becomes a
learning curve problem. While you do recognize the object icons after a while,
it would be nice to have some type of message about what each object is after
you move your mouse over them.
As you'll see though, MYdbPAL function will far-by supercede it's form. Once
you create a number of objects and the database users you'd like to connect to
those objects (like database servers) with, you're ready to begin. MYdbPAL uses
OLE DB data sources to connect to various databases, which allows you to connect
to almost anywhere. To begin, you would select from the task tab what type of
task you'd like to perform, like Data Export. Then, you'd select the exact task
you'd like to do like Export Data and then drag that task down into the
WorkBench green area. The great usability item I did find is that you receive
visual acknowledgment when the item you've selected will work with the task you
specified. After you select the task, you'll see a very easy to understand
step-by-step guide to how to make this task work. For example, to get the Data
Export task to work, you must drag over the following :
- Database connection
- Schema file
- Dataset file
- User name
This interface design feature makes learning how to use each task a snap. It
has the look-and-feel of working with children blocks, which I loved. After you
have all the items dragged onto the green pane that are needed for that task,
the Wait icon turns to a Go icon. Then you can drag it over onto the Package
Builder pad. If you're ready to execute the package, drag the PALScript icon to
the PALScript Console and your task will execute. The PALScript icon should turn
to a checkbox if the process works. Otherwise, it will turn to a X. Either way,
you can drag it onto the Viewer to see a detailed log of the job.
One of the excellent things about this product is the Export Data task. This
task in my tests exported data to a 1/10 ratio making my 2 GB database, less
than 200 MB.
Studio
The Studio is where you can edit, version control or create schemas. It is
database independent so you would create a centralized schema in MYdbPAL and
then share it amongst all the database platforms. Schema Editor (shown below) is
one of the central components of the Studio. To open Schema Editor, simply click
and drag a schema onto it. Once in, it looks like almost any schema editor
you've been in, but with a twist. As you make changes it records each change for
a advanced version control system. For example, in the below screenshot, I
changed the Category Name field from a NVARCHAR to a VARCHAR field then clicked
Save.
Next, I dragged the schema onto the Schema History component of Studio and
then every change I made is reflected in blue as shown below.
You can also right-click and select Schema History to see the change (I've
skipped a few detailed steps below but here's the final screenshot).
If a manager sees a change he does not wish to implement, the manager can
then rollback the change or approve it for implementation through Workshop.
Another component to the Studio was Schema Reports. It produced
professional-grade reports about your schema which made it so easy, your manager
could even understand the schema. Finally, no modeling tool would be complete
without a visual schema modeler. MYdbPAL is no different. It contains a nice
modeling tool that looks much like any other design tool, but it allows you to
use hot-keys like CTL and push your mouse up to see all the dependencies of an
object.
The Studio facet of MYdbPAL was excellent and was my favorite component of
the program as a whole. The nicest feature of it for me was when I added an
Oracle database target and it automatically corrected 98% of the compatibility
issues and allowed me to manually correct the other 2%.
MYdbPAL is the most extensive database modeling and tool kit I've ever seen.
This is shown through its large set of tasks you can perform through Workshop
and Studio. Although there is a learning curve and the interface has some rough
edges in areas, those can be overcome easily by what the application can do.
Post Review Notes
Post review notes: Since the completion of this review,
MYdbPAL has corrected a number of issues I brought up in this review. These
include (but aren't limited to) the following:
- Another example
of an oddity is when you try to add users, there is no cancel button.
CORRECTED.
- As you move your
mouse over almost any item, the real-time help dialog updates you with what that
object does. The only place this does not apply to are the objects in the
WorkBench like schema objects. CORRECTED.
- Lack of tutorial information: The extensive
tutorials are not published in MYdbPAL simply to save download time. They are
due to be released as a separate download/install from the website
soon.