DELPHIX MASKING 5.2 AND REFERENTAIL INTEGRITY - PART I



This article will demonstrate the value of delphix masking solution, especially in terms of referential integrity and repeatability inside the same source or across heterogeneous ones so that relationships between values are always preserved after each masking operation.


I'm assuming the following for this demonstration :


- You have a source db (production)

- You have created a masked vdb based in this source (dev virtualized database copy)

Let's start the show, by checking the content of the source database




Now check the content of our masked vdb




Notice that data inside the vdb is completely different from the source one(thanks to delphix masking)


Let's refresh our vdb just to check that the masking provides the repetability capability and that we are ending with the same data across refresh / rewind operations (unless you change the engine key)




Great that we are not losing the data coherency across refresh /rewind operations




Now let's raise the bar


Use the new API of version 5.2 to export current engine masking key, and generate a new one from the UI.



[root@linuxtarget masking_v2_api]# sh key_sync.sh
* logging in...

We've got the following token e9e0134d-8b03-47a5-92ed-840674ed16db


=======================================================================


=======================================================================

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
109  1468  104  1468    0    67   3321    151 --:--:-- --:--:-- --:--:--  3191
We've exported this engine key {"exportResponseMetadata":{"exportHost":"192.168.247.132:8282","exportDate":"Mon Jan 29 11:34:20 UTC 2018","exportedObjectList":[{"objectIdentifier":{"keyId":"global"},"objectType":"KEY","revisionHash":"1268b1cc512be8e2bc15300fcdac243c781dcd1b"}]},"blob":"QgAAAAokMGIyMTFkZWItNGM2NC00NzlkLWFmN2YtZWYzMTc2ODU3ZDA4EhgyMDE4LTAxLTI5VDExOjM0OjIwLjI0M1ogAasBAAAKJDBiMjExZGViLTRjNjQtNDc5ZC1hZjdmLWVmMzE3Njg1N2QwOBKCAwo7CAkSNwordHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllchIICgZnbG9iYWwa/QEKJDAxYzcyZjJmLWM2OTItNGIyZC04ZDkxLTM3N2E1NDQ2YzQwNBIkODZkMjhhZmMtZjhjNy00ZTIzLWJkNjctN2ZiMDgxMWYyOWU4Gnd7CiAgIm9iamVjdFR5cGUiOiAiS0VZIiwKICAiaWQiOiB7CiAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllciIsCiAgICAiaWQiOiAiZ2xvYmFsIgogIH0KfSIoYjJmNzk4MzgwYmY3MDVhZDU1YjdjMTk1MmQ4N2YzMWZlYWY0ZTJmZSjhm4ndhCww4ZuJ3YQsIkMKJXR5cGUuZ29vZ2xlYXBpcy5jb20vRW5jcnlwdGlvbktleURhdGESGgoYb3dtN1NiZGsyVnZSZG1id2NKd29nUT09VgAAAAokMGIyMTFkZWItNGM2NC00NzlkLWFmN2YtZWYzMTc2ODU3ZDA4Gi4wLAIUA0rFDP61wq14wVtdQXS94NZzXwYCFGxUI7qCegFTp+56uxkAF041OS/9","signature":"MCwCFANKxQz+tcKteMFbXUF0veDWc18GAhRsVCO6gnoBU6fuersZABdONTkv/Q==","publicKey":"MIHxMIGoBgcqhkjOOAQBMIGcAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqOuyYO5rahJtk0bjjFAkBnhHGyepz0TukaScUUfbGpqvJE8FpDTWSGkx0tFCcbnjUDC3H9c9oXkGmzLik1Yw4cIGI1TQ2iCmxBblC+eUykA0QAAkEAlovwga0S6qSb6Yu0Ul+Hn5tNsVlnixO0KKNNFekvXCkDeQHuEkBwrzVoND13yV8ujlBZCSKBHNB2bMHwuccleg=="}

=======================================================================


=======================================================================

[root@linuxtarget masking_v2_api]#





Refresh the vdb and check its content



Voilà, data has changed because of the key change

Our dev complies from that change, so let's fix this issue for him by importing back the old key usig API to ensure we will bring values as they were at the beginning



[root@linuxtarget masking_v2_api]# sh key_sync.sh
* logging in...

We've got the following token 0333d96d-52a8-4975-a8ce-3ab04d94cfd3


=======================================================================


=======================================================================


=======================================================================

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
103  1554    0    85  104  1469     60   1037  0:00:01  0:00:01 --:--:--  1038

We've imported this key

=======================================================================

[root@linuxtarget masking_v2_api]#



To end up this demo, refresh the vdb and check out the data







Thanks to masking API, I'm in love :)

You can imagine doing this exercise with two or more different masking engines, to guarantee referential integrity across heterogeneous sources



STAY TUNED FOR NEXT PART

No comments:

Post a Comment