Open Source DataHub: منصة البحث عن البيانات الوصفية واكتشافها في LinkedIn
يعد العثور على البيانات الصحيحة بسرعة أمرًا ضروريًا لأي شركة تعتمد على كميات كبيرة من البيانات لاتخاذ قرارات بناءً على تلك البيانات. لا يؤثر هذا فقط على إنتاجية مستخدمي البيانات (بما في ذلك المحللين ومطوري التعلم الآلي وعلماء البيانات ومهندسي البيانات) ، ولكن له أيضًا تأثير مباشر على المنتجات النهائية التي تعتمد على جودة التعلم الآلي (ML) أيضًا ، يثير الاتجاه نحو تقديم أو بناء منصات التعلم الآلي بشكل طبيعي السؤال: ما هي طريقتك في اكتشاف الميزات والنماذج والمقاييس ومجموعات البيانات داخليًا ، إلخ.
في هذه المقالة ، سنشارك كيف نشرنا مصدر بيانات DataHub بموجب الترخيص المفتوح على منصة البحث عن البيانات الوصفية واكتشافها ، بدءًا من الأيام الأولى لمشروع WhereHows . يحتفظ LinkedIn بإصداره الخاص من DataHub بشكل منفصل عن الإصدار مفتوح المصدر. سنبدأ بشرح سبب حاجتنا إلى بيئتي تطوير منفصلتين ، وبعد ذلك سنناقش الأساليب الأولى لاستخدام برنامج WhereHows مفتوح المصدر ومقارنة إصدارنا الداخلي (الإنتاجي) من DataHub بالإصدار الموجود على GitHub.... سنقوم أيضًا بمشاركة تفاصيل حول حل التحميل والتنزيل الآلي الجديد مفتوح المصدر لدينا للحفاظ على تزامن المستودعات. أخيرًا ، سنقدم إرشادات حول كيفية البدء في استخدام DataHub مفتوح المصدر ونناقش بإيجاز بنيته.

WhereHows الآن DataHub!
LinkedIn DataHub ( WhereHows), LinkedIn, . - DataHub . , . DataHub GitHub.
WhereHows, LinkedIn , ; 2016 . — , LinkedIn, , LinkedIn, . , WhereHows (, . .), . WhereHows , . , .
: « »
« », , . , GitHub, . , . , .
, , , , . , , , , .
, , -. , , , WhereHows -. , , .
: « »
** « », , . , . , — , . . , , , , .
!
, WhereHows GitHub . , WhereHows LinkedIn , . — DataHub. .
LinkedIn , . , LinkedIn (ELR). , , , .
, DataHub, . , . , . ( DataHub), . .
DataHub , . :
- LinkedIn / , rsync.
- , Apache Rat.
- .
- , , .
, .
DataHub , GitHub, DataHub LinkedIn ( multiproducts). DataHub, , LinkedIn. DataHub .

1: LinkedIn DataHub DataHub
, , . , , .
{
"datahub-dao": [
"${datahub-frontend}/datahub-dao"
],
"gms/impl": [
"${dataset-gms}/impl",
"${user-gms}/impl"
],
"metadata-dao": [
"${metadata-models}/metadata-dao"
],
"metadata-builders": [
"${metadata-models}/metadata-builders"
]
}
— JSON, , — LinkedIn. . Bash. , , .
{
"${metadata-models}/metadata-builders/src/main/java/com/linkedin/Foo.java":
"metadata-builders/src/main/java/com/linkedin/Foo.java",
"${metadata-models}/metadata-builders/src/main/java/com/linkedin/Bar.java":
"metadata-builders/src/main/java/com/linkedin/Bar.java",
"${metadata-models}/metadata-builders/build.gradle": null,
}
; . 1: 1 LinkedIn . , :
- , , FQCN, . « ».
- «null» , .
- . .
metadata-models 29.0.0 -> 30.0.0
Added aspect model foo
Fixed issue bar
dataset-gms 2.3.0 -> 2.3.4
Added rest.li API to serve foo aspect
MP_VERSION=dataset-gms:2.3.4
MP_VERSION=metadata-models:30.0.0
LinkedIn , , . DataHub , - , , DataHub , .. , (, , ) , DataHub , . , , -, .
, , , . , , DataHub .
DataHub
DataHub, , . DataHub LinkedIn, .
, , LinkedIn's Offspring ( LinkedIn). Offspring , . ; DataHub .
. LinkedIn, LinkedIn . , . , DataHub . , , , .
DataHub. — . , () , .
— GMS ( ) , GMS. GMA ( ) — DataHub, GMS — GMA. GMA — , (, , . .) , , GMS . GMS, DataHub .
.
| Product Features | LinkedIn DataHub | Open Source DataHub |
|---|---|---|
| Supported Data Constructs | 1) Datasets 2) Users 3) Metrics 4) ML Features 5) Charts 6) Dashboards | 1) Datasets 2) Users |
| Supported Metadata Sources for Datasets | 1) Ambry 2) Couchbase 3) Dalids 4) Espresso 5) HDFS 6) Hive 7) Kafka 8) MongoDB 9) MySQL 10) Oracle 11) Pinot 12) Presto 12) Seas 13) Teradata 13) Vector 14) Venice | Hive Kafka RDBMS |
| Pub-sub | LinkedIn Kafka | Confluent Kafka |
| Stream Processing | Managed | Embedded (standalone) |
| Dependency Injection & Dynamic Configuration | LinkedIn Offspring | Spring |
| Build Tooling | Ligradle (LinkedIn’s internal Gradle wrapper) | Gradlew |
| CI/CD | CRT (LinkedIn’s internal CI/ CD) | TravisCI and Docker Hub |
| Metadata Stores | Distributed multiple GMS: 1) Dataset GMS 2) User GMS 3) Metric GMS 4) Feature GMS 5) Chart/Dashboard GMS | Single GMS for: 1) Datasets 2) Users |
Docker
Docker . DataHub , , Kafka, Elasticsearch, Neo4j MySQL, Docker. Docker Docker Compose.

2: DataHub * **
DataHub . , Docker:
datahub-gms:
datahub-frontend: Play, DataHub.
datahub-mce-consumer: Kafka Streams, (MCE) .
datahub-mae-consumer: Kafka Streams, (MAE) .
DataHub .
CI / CD DataHub
DataHub TravisCI Docker Hub . GitHub . , (, Confluent), Docker, Docker Hub . Docker, Docker Hub, docker pull.
DataHub Docker Docker Hub «latest». Docker Hub , Docker Hub.
DataHub
DataHub :
- Docker docker-compose docker-compose .
- , , , .
- DataHub .
Gitter . GitHub. , !
DataHub Docker, docker-compose. Kubernetes, Kubernetes .
نخطط أيضًا لتوفير حل متكامل لنشر DataHub على خدمة سحابية عامة مثل Azure أو AWS أو Google Cloud . نظرًا للإعلان الأخير عن ترحيل LinkedIn إلى Azure ، سيتوافق هذا مع الأولويات الداخلية لمجموعة البيانات الوصفية.
أخيرًا وليس آخرًا ، شكرًا لجميع مستخدمي DataHub الأوائل في مجتمع المصادر المفتوحة الذين أعربوا عن تقديرهم لإصدارات ألفا من DataHub وساعدونا في تحديد المشكلات وتحسين التوثيق.