يحتاج العديد من عملاء Amazon Web Services (AWS) إلى حل لتخزين البيانات والتحليلات يوفر سرعة ومرونة أكبر من أنظمة إدارة البيانات التقليدية. تعد بحيرة البيانات وسيلة شائعة بشكل متزايد لتخزين البيانات وتحليلها لأنها تسمح للشركات بتخزين جميع بياناتها، المنظمة وغير المنظمة، في مستودع مركزي. توفر سحابة AWS العديد من العناصر الأساسية المطلوبة لمساعدة الشركات على تنفيذ بحيرة بيانات آمنة ومرنة وفعالة من حيث التكلفة.
يعد حل بحيرة البيانات بمثابة تطبيق مرجعي تلقائي ينشر بنية بحيرة بيانات متاحة للغاية وفعالة من حيث التكلفة على سحابة AWS. يهدف الحل إلى معالجة نقاط الضعف الشائعة لدى العملاء حول تصور بنيات مستودع البيانات، ويقوم تلقائيًا بتكوين خدمات AWS الأساسية اللازمة لوضع علامات على مجموعات فرعية محددة من البيانات والبحث فيها ومشاركتها وإدارتها عبر الشركة أو مع شركات خارجية أخرى بسهولة. يتيح هذا الحل للمستخدمين فهرسة مجموعات البيانات الجديدة وإنشاء ملفات تعريف البيانات لمجموعات البيانات الموجودة في Amazon Simple Storage Service (Amazon S3) والتكامل مع حلول مثل AWS Glue وAmazon Athena بأقل جهد.
للحصول على نظرة عامة على الحل الكامل، قم بزيارة Data Lake على AWS.
للحصول على مساعدة عند استخدام حل Data Lake، قم بزيارة دليل المساعدة عبر الإنترنت.
يتكون مشروع بحيرة البيانات من خدمات صغيرة تسهل المجالات الوظيفية للحل. يتم نشر هذه الخدمات الصغيرة في بيئة بدون خادم في AWS Lambda.
|-النشر/ [مجلد يحتوي على قوالب وبرامج نصية للإنشاء] |-المصدر/ |-api/ |-authorizer/ [مصرح مخصص لبوابة API] |-الخدمات/ |-admin/ [خدمة صغيرة للوظائف الإدارية لمستودع البيانات] |-cart/ [خدمة صغيرة لوظيفة عربة مستودع البيانات] |-logging/ [خدمة صغيرة لتسجيل تدقيق بحيرة البيانات] |-البيان/ [خدمة صغيرة لمعالجة بيان بحيرة البيانات] |-package/ [خدمة صغيرة لوظيفة حزمة Data Lake] |-profile/ [خدمة صغيرة لوظيفة ملف تعريف مستخدم Data Lake] |-بحث/ [خدمة صغيرة لوظيفة البحث في بحيرة البيانات] |-cli/ [واجهة سطر أوامر بحيرة البيانات] |-وحدة التحكم/ [وحدة التحكم في إدارة بحيرة البيانات angularjs] |-الموارد/ |-access-validator/ [الوحدة المساعدة المستخدمة للتحقق من صحة الأذونات الدقيقة] |-helper/ [مساعد مخصص لقالب نشر CloudFormation]
تتبع كل خدمة صغيرة هيكل:
|-اسم الخدمة/ |-ليب/ |-[مكتبات وحدات الخدمة واختبارات الوحدات] |-index.js [نقطة الإدخال للخدمات الصغيرة] |-package.json
تفترض الإجراءات التالية أن جميع عمليات التكوين على مستوى نظام التشغيل قد اكتملت. هم:
تم تطوير حل بحيرة البيانات باستخدام Node.js للخدمات الصغيرة التي يتم تشغيلها في AWS Lambda وAngular 1.x لواجهة مستخدم وحدة التحكم. تم اختبار أحدث إصدار من حل Data Lake باستخدام Node.js v12.x.
استنساخ مستودع Aws-data-lake-solution GitHub:
git clone https://github.com/awslabs/aws-data-lake-solution.git
export AWS_REGION=<aws-region-code>
export SOLUTION_NAME=<your-solution-name>
export VERSION_CODE=<version-code>
export DEPLOY_BUCKET=<source-bucket-base-name>
export CLOUDFORMATION_TEMPLATE_BUCKET=<cloudformation-template-bucket-name>
us-east-1
، us-west-2
...aws-data-lake-solution
v1.0.0
-[aws-region-code]
باسم المجموعة هذا. على سبيل المثال: ./build-s3-dist.sh solutions aws-data-lake-solution v2.0.0 solutions
، سيتوقع القالب بعد ذلك أن يكون كود المصدر موجودًا في مجموعة solutions-[aws-region-code]
. cd ./aws-data-lake-solution/deployment
chmod +x run-unit-tests.sh
./run-unit-tests.sh
chmod +x build-s3-dist.sh
./build-s3-dist.sh $DEPLOY_BUCKET $SOLUTION_NAME $VERSION_CODE $CLOUDFORMATION_TEMPLATE_BUCKET
aws s3 cp ./global-s3-assets s3://$CLOUDFORMATION_TEMPLATE_BUCKET/$SOLUTION_NAME/$VERSION_CODE --recursive --acl bucket-owner-full-control
aws s3 cp ./regional-s3-assets s3://$DEPLOY_BUCKET-$AWS_REGION/$SOLUTION_NAME/$VERSION_CODE --recursive --acl bucket-owner-full-control
حاليًا، يمكن نشر حل بحيرة البيانات في المناطق التالية: [ us-east-1، us-east-2، us-west-2، eu-west-1، eu-west-2، eu-central-1 , AP-شمال شرق-1, AP-شمال شرق-2, AP-جنوب شرق-2, AP-جنوب-1 ]
يجمع هذا الحل مقاييس تشغيلية مجهولة المصدر لمساعدة AWS على تحسين جودة الحل وميزاته. لمزيد من المعلومات، بما في ذلك كيفية تعطيل هذه الإمكانية، يرجى مراجعة دليل التنفيذ.
حقوق الطبع والنشر لعام 2019 محفوظة لشركة Amazon.com, Inc. أو الشركات التابعة لها. جميع الحقوق محفوظة.
مرخص بموجب ترخيص Apache، الإصدار 2.0 ("الترخيص")؛ لا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/LICENSE-2.0
ما لم يكن ذلك مطلوبًا بموجب القانون المعمول به أو تم الاتفاق عليه كتابيًا، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي"، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الترخيص لمعرفة الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.