এসকিউএল সার্ভারে ডেটা অবলম্বন


43

এসকিউএল সার্ভারে ডেটা অবফসেকশনের জন্য সেরা অনুশীলন কোনটি?

আমরা আমাদের ইউএটি সিস্টেমে মাস্কড প্রোডাকশন ডেটা ব্যবহার করতে চাই।

আমরা যদি এটি দ্রুত করতে চাই এবং উচ্চ স্তরের অশ্লীলতার সাথে, কোন পন্থা অবলম্বন করা উচিত? আমি মানুষের প্রদত্ত নাম এবং পরিবারের নামের জন্য চরিত্রগুলি ঝাঁকুনির কথা ভাবছি, তবে কীভাবে? আমি কি নিজে একটি ফাংশন তৈরি করব বা ব্যবহারের জন্য কোনও পূর্বনির্ধারিত ফাংশন উপস্থিত রয়েছে? আমি চাকাটি পুনরায় উদ্ভাবনে সময় ব্যয় করতে চাই না :)

কিভাবে তারিখ ক্ষেত্র সম্পর্কে? উদাহরণস্বরূপ, জন্মের তারিখটি এলোমেলোভাবে পুরো টেবিল থেকে বাছাই করা উচিত এবং একটি রেকর্ডে অর্পণ করা উচিত, বা এটি করার আরও ভাল উপায় আছে কি?

উত্তর:


25

আমি আশা করি আমি কেবল এটি সম্পর্কে চিন্তা করার জন্য 100 পয়েন্ট আপভোট করতে পারি! আমি এই বিষয়টিকে বহুবার উপেক্ষা করে দেখেছি এটি অসত্য - এত ভাল হয়েছে। আমি যা বুঝতে পেরেছি সেগুলি থেকে আপনি নিজেই ক্ষেত্রগুলির মধ্যে ডেটা স্ক্যাম্বল করতে চান এবং আপনি যা অর্জন করার চেষ্টা করছেন তা আমি বুঝতে পেরেছি যদিও এটি করার দরকার নেই - যদিও এটি কেস-কে-কেস ভিত্তিতে বিবেচনা করা উচিত।

বেশিরভাগ ডেটা সুরক্ষা আইনগুলি কোনও ব্যক্তির সাথে ডেটা টুকরো সঠিকভাবে সংযুক্ত করার দক্ষতার চারদিকে ঘোরে - উদাহরণস্বরূপ জন্মের তারিখ বা ফোন নম্বর। আপনি নিশ্চিত হয়ে আইনের প্রয়োজনীয়তাগুলি পূরণ করতে পারেন যে আপনি যখন আপনার ডেটা উত্পাদন থেকে বাইরে ইউএটিতে স্থানান্তরিত করেন তখন এটি ঝাঁপিয়ে পড়ে যায় যাতে এটি সহজেই মূল ব্যক্তির সাথে পুনরায় ম্যাপ করা যায় না - বিশেষত যখন আপনি নাম এবং পদবি ঝাঁকিয়ে পড়ে।

যাইহোক, এটি সমস্যাটির উদাহরণ হিসাবে উদাহরণস্বরূপ যোগাযোগের বিশদটি বলে বিবেচনা করে না। আপনি তথ্যের সাথে ঝাঁপিয়ে পড়ে আইনটির প্রয়োজনীয়তাগুলি পূরণ করতে পারেন তবে ফোন নম্বরগুলি এখনও আসল, ইমেলগুলি এখনও সত্য etc ইত্যাদি they এগুলি কেবল সঠিক ব্যক্তিকে অর্পণ করা হয়নি। এর জন্য আমি প্রস্তাব দিচ্ছি যদি কোনও তথ্যটি ইউএটি-তে প্রেরণের আগে যথাযথভাবে সাফ করা হয়, রেড গেট ডেটা জেনারেটর নামক একটি সফ্টওয়্যার তৈরি করে যা আপনার জন্য এলোমেলো পরীক্ষার ডেটা তৈরি করতে পারে যাতে আপনি ক্ষেত্রগুলিকে এমন ডেটা দিয়ে পুনরায় তৈরি করতে পারেন যা পরীক্ষা করা যেতে পারে।

ডেটা স্ক্র্যাম্বলিংয়ের ক্ষেত্রে: এমন অনেকগুলি অ্যাপ্লিকেশন রয়েছে যা আপনার জন্য এটি করে এবং সত্যিই আপনি চাকাটি পুনরায় উদ্ভাবন করতে না চাইলে সঠিক। আমরা আমাদের সংস্থায় যেটি ব্যবহার করি তা হ'ল নেট 2000 নামে একটি সংস্থা ডেটা মাসকার নামে একটি পণ্য । লাইসেন্সটি বেশ সস্তা, এটি অত্যন্ত দ্রুত কাজ করে এবং আপনাকে ডাটাবেস স্ক্র্যাম্ব করার আগে আপনার সমস্ত সীমাবদ্ধতা অক্ষম করার বিষয়ে চিন্তা করতে হবে না।

আপনি অবশ্যই নিজের সমাধানটি রোল করতে পারেন আপনার প্রয়োজনীয়তার সাথে মেলে এমন কোনও কিছু খুঁজে না পাওয়া উচিত - আপনি যদি এটি করার সিদ্ধান্ত নেন তবে আমি সিএলআর পদ্ধতিগুলি করার জন্য দৃ strongly়ভাবে সুপারিশ করব এটি খাঁটি টিএসকিউএল থেকে অনেক বেশি নমনীয় (এটি বলার অপেক্ষা রাখে না যে আপনি এখানে দেখুন টিএসকিউএল ব্যবহার করতে পারবেন না )।

আপনি একবার আপনার জন্য এটি সম্পাদন করার জন্য একটি অ্যাপ্লিকেশন বেছে নেওয়ার পরে আপনার পরবর্তী জিনিসটি স্থির করার সিদ্ধান্ত নেওয়া উচিত এটি আসলে আপনি কী চান / স্ক্যাম্বল করতে চান? সত্যই এটির জন্য আপনার সর্বোত্তম উত্স হ'ল আপনার কোম্পানির আইনী দল এবং বা সংস্থা নিরীক্ষক। আমি জানি যে মাঝে মাঝে আমরা তাদের সাথে কাজ করা পছন্দ করতে পারি না তবে তারা নিজেরাই এটি করার চেষ্টা করে এবং ভুল হয়ে যাওয়ার চেয়ে তাদের কাছে যাওয়ার এবং তাদের কাছে প্রশ্ন জিজ্ঞাসার জন্য আপনার কাছে খুব সুন্দর হবে, সাহায্যের জন্য জিজ্ঞাসা করার সাথে একেবারেই কোনও ভুল নেই - বিশেষত যখন এটি এর মতো গুরুত্বপূর্ণ হয়।

আমি আশা করি এটি আপনাকে সহায়তা করে এবং আমি আপনার অনুসন্ধানে আপনাকে শুভকামনা জানাই ... ;-)


1
আমি যদি পারতাম তবে আমি কোম্পানির নীতি উল্লেখ করার জন্য একটি অতিরিক্ত উপস্থাপনা দেব।
dezso

আইনি প্রয়োজনীয়তা স্টেকহোল্ডারদের দ্বারা নির্ধারিত হয়। আমার এখন এটি বাস্তবায়ন করা উচিত।
আকাশ 21

মিঃ বোনাস্টোন আপনার ব্যাখ্যা বরাবরের মতো দুর্দান্ত। ধন্যবাদ. আমি এটির জন্য সিএলআর ফাংশনটি যাচাই করতে যাচ্ছি এবং টি-এসকিউএল-তেও নজর রাখছি। কোনটি আরও ভাল ফিট করে এবং এটি নির্মাণে দ্রুত See
স্কাই

10

মিঃ ব্রাউনস্টোন ঠিক মাথার উপরে পেরেকটি মারলেন। এখন আপনাকে কিছুটা সাহায্য করতে, আমার "গারবেল" ফাংশনটি এখানে স্ট্রিংগুলিকে আবদ্ধ করার জন্য ব্যবহৃত হয়েছিল (নামগুলির সাথে মজার ফলাফল!)। একটি স্ট্রিং মধ্যে পাস, এটি একটি গার্লড স্ট্রিং ফিরে। স্ট্রিং কলামগুলির বিপরীতে আপডেট বিবৃতিতে এটি অন্তর্ভুক্ত করুন। আপনি ফিট হিসাবে দেখতে ডেটার দৈর্ঘ্য পরিবর্তন করুন।

---------------------
-- Garble Function --
---------------------
-- Make a function to slightly garble the strings
IF (object_id('fn_Garble') is not null)
  drop function fn_Garble
go
create function fn_Garble
(
  @String varchar(255)
)  
returns varchar(255)
as
BEGIN
  select @String = replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@String,'o','e'),'a','o'),'i','a'),'u','i'),'t','p'),'c','k'),'d','th'),'ee','e'),'oo','or'),'ll','ski')
  return @String
END
go

3
পরিচিত শব্দ? (আপনার পয়েন্টের কেবল উদাহরণ) a সমস্ত এসকিউএল সার্ভার ওপরে কোনও কনোথো। একটি ম্যাপ্রেপিলাস ত্রৈমাসিক কেপ্যাং ওয়াপ এসকিউএল এর আগে লিখেছেন। আমরা থোপোবস কেনসিল্পোনপস পে ভোরাইস পিব্লাক অন্থ প্রভোপ সেক্পার এর্গোনাজোপেনস প্রচার করি। এসকিউএল সার্ভার মোগোজনে ওপ্পার থেকে শুরু করে এস -কিউএল 101 ওপেকলস / ই-বিকেলে 101 সেরেজ করুন। এসকিউএল সার্ভার থেকে এসকিউএল ৪.২ এ উভয় শ্রেণীর পাঠ্যপুস্তক রয়েছে he
dezso

1
হি ... এটি চিনতে আমাকে কিছুটা সময় লেগেছে। মনে হচ্ছে সেখানে প্রচুর পরিমাণে নন-গারবড শব্দ রয়েছে। আমি কেবল কখনও এটি প্রথম নাম, পদবি এবং শহরের নামগুলির বিপরীতে ব্যবহার করেছি। শুধু একটি নির্বোধ সামান্য ফাংশন। আমি এটিতে আমার কেরিয়ারকে ঝুঁকি দেব না।
ডাটাগোড

আমি পদ্ধতির প্রশংসা করি - সহজ কিন্তু কাজ করা। এবং একটি প্লাস হ'ল পাঠ্যটি এখনও সুস্পষ্ট। যদিও আমি এটি বুঝতে পারি না :)
dezso

7

আমার ক্লায়েন্টদের খুচরা বিক্রয় ডেটার জন্য আমাকে এটি করতে হয়েছিল। নামের জন্য আমি আদমশুমারিতে গিয়ে প্রথম এবং শেষের সমস্ত নাম ডাউনলোড করেছিলাম, সর্বশেষে সর্বশেষে প্রথমটিতে যোগদানের জন্য একটি লুপের মাধ্যমে চালিয়েছিলাম, যৌন কোড যুক্ত করেছি এবং এটিকে সমস্ত উচ্চতর ক্ষেত্রে একটি টেবিলে লোড করেছি। আমার তখন প্রায় 400 মিলিয়ন অনন্য নাম সহ একটি টেবিল ছিল। আমি উপরের কেসটি ব্যবহার করেছি কারণ আমাদের বর্তমান তথ্য উচ্চতর ক্ষেত্রে ছিল না তাই আমি আরও সহজেই স্ক্র্যাব করা ডেটাটি বলতে পারি।

আমি যখন নিজের ব্যবহারকারীর ডেটাটি স্ক্র্যাব করলাম তখন আমি নামগুলি সরিয়ে ফেললাম, জন্মদিনের জন্য আমি সবাইকে জন্মের বছর 1 জানুয়ারীতে রেখেছিলাম যে তারা আসলে জন্মগ্রহণ করেছিল এবং তাদের জিপ কোড সহ যে কোনও ফোন নম্বর আপডেট করেছিল (আমার ডেটা কেবল মার্কিন ছিল)। ইমেল ঠিকানাগুলি এফআইআরএস প্রাথমিক এবং শেষ নাম @ mycompany.co হয়ে ওঠে। ডাকের ঠিকানাটি আমাকে সবচেয়ে বেশি দুঃখ দিয়েছে তবে আমি শহর, রাজ্য এবং জিপ রেখেছি কারণ আমি বিশ্বাস করি যে ঠিকানাটি পরিবর্তিত হলে তাদের কোনও সমস্যা হবে না। আমার এক সহকর্মী ছিলেন যিনি এমন কিছু প্রোগ্রাম রেখেছিলেন যা গলিত চিঠি তৈরি করেছিল এবং সেই সাথে ঠিকানা লাইনটি আপডেট করেছিল।

যে কোনও জায়গায় আমার ডুপ্লিকেট করা ডেটা ছিল তবে এখনও প্রধান ব্যবহারকারীর কাছে একটি এফকে ছিল (খারাপ নকশা হ্যাঁ, তবে আমার নয়) আমি সেই ডেটাটিও আপডেট করেছি যাতে ব্যবহারকারীর এক্সের জন্য ডাটাবেস জুড়ে নামটি সামঞ্জস্যপূর্ণ ছিল।

সামগ্রিকভাবে আমার ডেটা এখনও খুব পঠনযোগ্য ছিল যদিও ঠিকানাটির কোনও অর্থ নেই। এই সমস্ত কাজটি পেতে আমার কয়েক দিন সময় লেগেছিল তবে একবার এটি হয়ে গেলে এবং স্কেল এজেন্টের কাজ তৈরি হয়ে গেলে আমি 15 মিনিটের মধ্যেই ডেটা স্ক্রাব করতে পারি।


আমি আপনার পদ্ধতির পছন্দ। প্রদত্ত নাম এবং উপাধি সম্পর্কে, আমি মনে করি যদি ডেটা সেটটি যথেষ্ট পরিমাণে ভাল হয়, তবে একটি ভাল স্তরের পরিবর্তনের কারণে, আমরা এটি আদমশুমারির ওয়েবসাইট থেকে নামগুলি ডাউনলোড না করে, উত্স হিসাবে ব্যবহার করতে পারি। সিলেক্ট ডিস্টিক্ট দ্বারা ডেটা জিজ্ঞাসা করা আমাদের বাড়ির অনেকগুলি অনন্য মূল্যবোধের সাথে বলবে যা আমাদের খেলতে হবে।
আকাশ

0

একটি একক ক্ষেত্রকে অবলম্বন করার জন্য, HASHBYTES ফাংশনটি কীভাবে ব্যবহার করবেন (এসকিউএল ২০০+ এ)? আপনি আপনার অ্যালগরিদম চয়ন করতে পারেন (MD5 সম্ভবত যথেষ্ট) আপনি যদি আপনার ডেটা নোনতা সরবরাহ করেন। সুতরাং কেবল আপনি যা করছেন SELECT HASHBYTES('SHA2_256', <LAST NAME FIELD>) তা নিশ্চিত করার পরিবর্তে SELECT HASHBYTES('SHA2_256', <LAST NAME FIELD> + '<my salt string>')এবং এখন আপনার কাছে একটি হ্যাশ রয়েছে যা সহজেই জোর করে চাপিয়ে দেওয়া যায় না।

এটি একটি আসল ফাংশন যা সমর্থনযোগ্য, পুনরাবৃত্তিযোগ্য এবং সম্ভবত আরও দ্রুত। আপনার সত্যিকারের ঠিক কতটা সুরক্ষিত করা দরকার তার উপর নির্ভর করে আপনি কেবল দুর্বল, দ্রুত হ্যাশও ব্যবহার করতে পারেন।


আপনি এই দিন ও বয়সের এমডি 5 ব্যবহার করবেন না, এটি নিবিড়ভাবে নিরাপত্তাহীন।
ফিলি

ঠিক আছে ... হ্যাশবাইটগুলির সাথে আপনার পছন্দগুলি এখানে রয়েছে: MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 প্রত্যেকের জন্য কিছু !! (হ্যাঁ, আপনার ব্যবহার করা উচিত নয় সহ)) সুতরাং বলুন যে আমরা SHA2_512 ব্যবহার করছি ... এই পদ্ধতির সাথে সমস্যাযুক্ত অন্য কিছু?
সেমিচাপেলান

-1

ক্রিসি লেমায়ার (@ ক্রিসি-লেমায়ার) এবং তার দল দ্বারা লিখিত স্ট্যাটিক ডেটা মাস্কিংয়ের জন্য একটি বিনামূল্যে বিকল্পের জন্য ড্যাবটুলস পাওয়ারশেল মডিউলটি একবার দেখুন। তাদের সমস্ত সরঞ্জাম দুর্দান্ত, তাই আমি নিশ্চিত যে এটি একবার দেখার মতো।

ডাবটুলগুলিতে সন্ধানের জন্য দুটি কমান্ড হ'ল: নতুন-ডিবিএডিবিম্যাসিংকনফিগ ইনভেক-ডিবিএডিবিডাটা ম্যাসকিং

এটি ঘোষণা করে ব্লগ পোস্টটি একবার দেখুন: স্বয়ংক্রিয়ভাবে ডেটা মাস্কিং


2
কেবলমাত্র লিঙ্কের উত্তরগুলি খুব সহায়ক নয়। আপনি কীভাবে সেমিডলেট ইত্যাদি ব্যবহার করবেন তার উদাহরণ দিয়ে নিজের উত্তরকে উন্নত করতে পারেন
এরিক ডার্লিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.