الوصول إلى قاعدة بيانات Postgres لتحليل البيانات

مرحباً بالجميع، لم أجد منشوراً مشابهاً لهذا، لذا سأبدأ:

تقوم مؤسستنا ببناء لوحات معلومات التحليلات الخاصة بنا (ضمن Snowflake) ونأمل في دمج بيانات المستخدم الموجودة لدينا في Discourse.

حاليًا، نقوم باستضافة Discourse ذاتيًا على مثيل EC2 داخل Docker. يبدو أن هناك خيارين هنا:

  1. استخدام خدمة ترحيل قواعد بيانات AWS للوصول إلى خادم Postgres المستضاف على EC2. سيتطلب هذا كشف منفذ Postgres (الذي لا أعتقد أنه مهيأ ليكون متاحًا للعامة افتراضيًا) وإنشاء مستخدم Postgres جديد، ولكن بخلاف ذلك يبدو هذا حلاً جيدًا جدًا.
  • لن يعمل تفريغ SQL مباشر إلى حاوية S3 (كيف تعمل النسخ الاحتياطية في Discourse)، حيث لا يتم قبول SQL كشكل بيانات بواسطة Snowflake.
  1. تثبيت المكون الإضافي Data Explorer، وكتابة الاستعلامات التي تُخرج البيانات التي نريدها، ثم تشغيل + تصدير البيانات الناتجة بتنسيق CSV/JSON التي يمكننا بعد ذلك استيرادها إلى Snowflake.
  • يبدو أن هذا الحل يتطلب خطوات أكثر من الخيار 1 أعلاه، ولكنه سيؤدي الغرض أيضًا ويقلل من فرصة إتلاف قاعدة بيانات Discourse.

سأكون ممتنًا لآرائكم أو لسماع تجارب أي شخص آخر في نقل بيانات قاعدة البيانات الخاصة بهم إلى خط أنابيب تحليلات. شكراً لكم!

إذا كان Snowflake يمكنه التحدث إلى Postgres، فستقوم بفتح منفذ Postgres (مع جدار حماية مناسب للحد من الوصول) والسماح له بالتحدث إليه.

إذا كان Snowflake يمكنه قراءة csv/json، فيمكنك استخدام مستكشف البيانات واسترداد الأشياء تلقائيًا عبر واجهة برمجة التطبيقات.

إعجاب واحد (1)

هذا منطقي. من المحتمل أن أحاول اتباع المسار المباشر (خياري 1). التخزين رخيص وإفراغ قاعدة البيانات بأكملها إلى Snowflake الآن حتى نتمكن من تحديد جميع استعلامات التحليلات الخاصة بنا في مستودع واحد يبدو أنه يقلل من الحمل الزائد مقارنة بتحديد بعض الاستعلامات في مستكشف البيانات لمجموعة من طلبات التحليلات، ثم يطلبون المزيد لذلك نحدد مجموعة أخرى، وهكذا…