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