Denodo Data Catalog Roles

The denodo catalog provides the data governance and self-service capabilities to supplement the denodo Virtual DataPort (VDP) core capabilities. Six roles provide the ability to assign or deny capabilities with the denodo data catalog and supplement the database, row, and column security and permissions of denodo Virtual DataPort (VDP).

The Tasks The Roles Can PerformDenodo Data Catalog Role Name
Assign categories, tags and custom properties groups to views and web services.data_catalog_classifier
Edit views, web services, and databases. Create, edit and delete tags, categories, custom properties groups, and custom properties.data_catalog_editor
Can do the same as a user with the roles “data_catalog_editor” and “data_catalog_classifier”.data_catalog_manager
Configure personalization options and content search.data_catalog_content_admin
This role can perform any action of all the other data catalog roles.data_catalog_admin
The exporter role can export the results of a query from the Denodo Data Catalog.data_catalog_exporter
denodo Virtualization
denodo Virtualization

Related References

denodo > User Manuals > Denodo Platform New Features Guide

denodo > User Manuals > Data Catalog Guide > Administration

Denodo Model Best Practices For Creation of Associations

What Are Denodo Associations?

In denodo associations follow the same concept as modeling tools, which can be described as an ‘on-demand join.’

Where Should Associations Be Created In the Denodo Model?

You don’t necessarily need to define an Association at every level; usually, the best practice is to apply associations at the following points:

  • On final views published for data consumers, indicating relationships between related views; Especially, on published web services.
  • On the component views below, any derived view that brings together disparate (dissimilar) data sources.  The associations should be defined as Referential Constraints whenever appropriate to aid the optimization engine.
  • On the component views below, any derived view that joins a “Base View from Query” with standard views, since Base Views from Query cannot be rewritten by the denodo optimization engine.  Often Base Views from Query create performance bottlenecks.

These best practices should cover the majority scenarios; beyond these guidelines, it is best to take an ad-hoc approach to create Associations when you see a specific performance/optimization.

Why Are Associations important in Denodo?

In a nutshell, associations performance and the efficiency of the denodo execution optimizer along with other model metadata, such as:  

  • The SQL of the view(s)
  • Table metadata (Table Keys {PK, FK), Virtual Partitions…etc.)
  • Data statistics, which are used by the Cost Based Optimizer (CBO)

Related References

Associations in Denodo

Importing Associations And Joins From A Database Schema in Denodo

A coworker recently asked a question as to whether denodo generated joins automatically from source RDBMS database schema.  After searching, a few snippets of information became obvious.  First, that the subject of inheriting join properties was broader than joins and needed to in modeling associations (joins on demand). Second, that there were some denodo design best practices to be considered to optimize associations.

Does Denodo Automatically Generate Joins From the Source System?

After some research, the short answer is no.

Can Denodo Inherit Accusations From A Logical Model?

The short answer is yes. 

Denodo bridges allow models to be passed to and from other modeling tools, it is possible to have the association build automatically, using the top-down approach design approach and importing a model, at the Interface View level, which is the topmost level of the top-down design process. 

However, below the Interface view level, associations and or joins are created manually by the developer.

Where Should Associations Be Created?

You don’t necessarily need to define an Association at every level, usually, the best practice is to apply associations at following points:

These best practices should cover the majority scenarios, beyond these guidelines it is best to take an ad-hoc approach to create Associations when you see a specific performance/optimization.

Related References

Associations in Denodo

How to Check Linux Version?

While researching an old install for an upgrade system requirement compliance, I discovered that I b=need to validate which Linux version was installed.  So, here is a quick note on the command I used to validate which version of Linux was installed.

Command

  • cat /etc/os-release

Example Output of the command “os-release” file

denodo SQL Type Mapping

denodo 7.0 saves some manual coding when building the ‘Base Views’ by performing some initial data type conversions from ANSI SQL type to denodo Virtual DataPort data types. So, where is a quick reference mapping to show to what the denodo Virtual DataPort Data Type mappings are:

ANSI SQL types To Virtual DataPort Data types Mapping

ANSI SQL TypeVirtual DataPort Type
BIT (n)blob
BIT VARYING (n)blob
BOOLboolean
BYTEAblob
CHAR (n)text
CHARACTER (n)text
CHARACTER VARYING (n)text
DATElocaldate
DECIMALdouble
DECIMAL (n)double
DECIMAL (n, m)double
DOUBLE PRECISIONdouble
FLOATfloat
FLOAT4float
FLOAT8double
INT2int
INT4int
INT8long
INTEGERint
NCHAR (n)text
NUMERICdouble
NUMERIC (n)double
NUMERIC (n, m)double
NVARCHAR (n)text
REALfloat
SMALLINTint
TEXTtext
TIMESTAMPtimestamp
TIMESTAMP WITH TIME ZONEtimestamptz
TIMESTAMPTZtimestamptz
TIMEtime
TIMETZtime
VARBITblob
VARCHARtext
VARCHAR ( MAX )text
VARCHAR (n)text

ANSI SQL Type Conversion Notes

  • The function CAST truncates the output when converting a value to a text, when these two conditions are met:
  1. You specify a SQL type with a length for the target data type. E.g. VARCHAR(20).
  2. And, this length is lower than the length of the input value.
  • When casting a boolean to an integertrue is mapped to 1 and false to 0.

Related References

denodo 7.0 Type Conversion Functions

New CentOS 8 Linux Release

The new CentOS 8 rebuild is out. Christened version 8.0-1905, this release provides a secure, stable and a more reliable foundation for CentOS users such as organizations running high-performance websites and businesses with Linus experts that use CentOS daily for their workloads, but who do not need strong commercial support.

The new OS comes in after Red Hat released RHEL 8 – Red Hat Enterprise Linux – in May of this year. According to CentOS 8 release notes, the contributors note that this rebuild is 100% compliant with Red Hat’s redistribution policy. This Linux distro allows users to achieve successful operations using the robust power of an enterprise-class OS, but without the cost of support and certification. Below are some of the updates as outlined in CentOS 8 release notes that you can expect with this new release and some of the deprecated features.

What’s New in the Just Released CentOS 8?

  • BaseOS and Appstream
  • New container tools
  • Systemwide crypto policies
  • TCP stack improvements
  • DNF

· BaseOS and Appstream

The main repository or Base Operating System offers the components of distribution that in turn provide the running user space on the hardware, virtual machines, or even a container. The Application Stream or App stream offers all the apps you might want to run in particular user space. The Supplemental repository offers software that comes with special licensing.

· New Container Tools

With the aid of Podman, CentOS 8 supports Linux Containers. This replaces Docker and Mobdy, which depend on daemon and run as root. Unlike the previous release, the Podman in the new version does not depend on daemon. Podman allows users to create images from scratch using Buildah.

· Systemwide Crypto Policies

The command “update crypto policies” can be used to update the system-wide cryptographic policy on the new OS. The policies have settings for the following applications and libraries; NSS TLS library, Kerberos 5 library, Open SSH SSH2 protocol implementation, IKE protocol implementation & Libreswan IPsec, Open SSL TLS library and GnuTLS TLS library.

· TCP Stack Improvements

The CentOS 8 Linux distro also brings with it TCP stack version 4.16 with an improved ingress connection rate. The Linux kernel is now able to support the new BBR and NV control algorithms. This is very helpful in helping improve the Linux server internet speed.

· DNF – Dandified Yum

The new Operating System includes the basic foundations of the Yum package but is now upgraded to the DNF (Dandified Yum). Though it maintains a similar command-line interface and API to its predecessor, it does promise to be faster, seamless and super-efficient.

· Other Improvements

The CentOS also has a compiler based on the version 8.2 and includes support for more recent C ++ language standard versions, improved optimizations, more code, and hardening techniques as well as new hardware support and better warnings.

In addition to those features, the new CentOS 8 also supports secure guests, which using cryptographically signed images will ensure that the program retains its integrity. It also boasts of improved management of memory and support. CentOS 8 release notes state that the new OS will allow the Crash dump to take in kernel crash during all booting phases which were not possible before.

CentOS 8 gives encrypted storage to LUKS2. It also allows for enhancements made to the process scheduler to include the new deadline process scheduler. This Linux distro will also enable installations and boot from dual-in-line, non-volatile memory modules.

A great bonus feature is that you can manage the new software with Cockpit via a web browser. This feature is very user-friendly, making it great for system administrators and new users alike.

Deprecated Features and Functionalities

If you are upgrading from previous CentOS versions, the most significant change is seen in the nftables framework which has replaced iptables. Nfatables allows users to perform network address translation (NAT) mangling, packet classification, and packet filtering. Unlike iptables, nfatables helps to provide secure firewall support with enhanced performance, increased scalability, and easy code maintenance.

These changes, though not major, may cause problems with firewall functionality. Although upgrades using RHEL may be supported, it is not advisable to upgrade directly from much older versions of CentOS like CentOs 6 and below as they may not be compatible.

Users of CentOS as a desktop will see an update of the GNOME SHELL default interface to version 3.28, while still carrying the default display server as Wayland.

Final Thoughts

If you are looking to upgrade from previous versions, a system to do so directly is yet to be released. As such, your most favorable option would be to back up your data as you install the newly released CentOS 8. When it is up and running, you can then move all the data to the new system.

Nonetheless, the new CentOS 8 Linux release is an exciting feat. This OS provides a manageable and consistent platform that suits a wide variety of deployments. It comes with well-thought-out and ingenious software updates that will help avid users to build more robust container workloads and web apps.

How To Get A List Of Oracle Database Schemas?

Well, this is one of those circumstances, where your ability to answer this question will depend upon your user’s assigned security roles and what you actually want. 

To get a complete list, you will need to use the DBA_ administrator tables to which most of us will not have access.  In the very simple examples below, you may want to add a WHERE clause to eliminate the system schemas from the list, like ‘SYS’ and ‘SYSTEM,’ if you have access to them.

Example Administrator (DBA) Schema List

SELECT distinct OWNER as SCHEMA_NAME

FROM  DBA_OBJECTS

ORDER BY OWNER;

Example Administrator (DBA) Schema List Results Screenshot

Fortunately for the rest of us, there are All user tables, from which we can get a listing of the schemas to which we have access.

Example All Users Schema List

SELECT distinct OWNER as SCHEMA_NAME

FROM    ALL_OBJECTS

ORDER BY OWNER;

Example All Users Schema List Results Screenshot

Related References

Oracle help Center > Database> Oracle > Oracle Database > Release 19