تصدير البيانات في HarborDB
يوفر HarborDB إمكانيات تصدير قوية لحفظ نتائج استعلاماتك بتنسيقات متنوعة. سواء كنت بحاجة إلى مشاركة البيانات مع الزملاء أو استيرادها إلى تطبيقات أخرى أو أرشفة النتائج للتحليل لاحقاً، يغطي هذا الدليل كل ما تحتاج إلى معرفته حول تصدير البيانات بكفاءة وأمان.
نظرة عامة على تنسيقات التصدير
يدعم HarborDB تنسيقات تصدير متعددة، كل منها مناسب لحالات استخدام مختلفة:
CSV (قيم مفصولة بفواصل)
- الأفضل لـ: جداول البيانات (Excel، Google Sheets)، استيراد/تصدير البيانات، تبادل البيانات الأساسي
- الميزات: محددات مخصصة، رؤوس، مؤهلات نصية، خيارات ترميز
- القيود: لا يدعم البيانات الهرمية، حفظ أنواع بيانات محدود
JSON (تدوين كائن JavaScript)
- الأفضل لـ: تطبيقات الويب، واجهات برمجة التطبيقات، قواعد بيانات NoSQL، تبادل البيانات
- الميزات: طباعة منسقة، تنسيق مضغوط، حفظ أنواع البيانات
- القيود: حجم ملف أكبر، ليس مثالياً لجداول البيانات
Excel (قريباً)
- الأفضل لـ: تقارير الأعمال، جداول البيانات المنسقة، عرض البيانات المعقد
- الميزات: أوراق متعددة، صيغ، تنسيق، مخططات
- الحالة: مخطط لإصدار مستقبلي
عملية التصدير الأساسية
الخطوة 1: جهّز بياناتك
- نفّذ استعلاماً أو اختر جدولاً في الشريط الجانبي
- راجع النتائج للتأكد من أنها تحتوي على البيانات التي تريد تصديرها
- فكر في التصفية إذا كنت بحاجة فقط إلى صفوف أو أعمدة محددة
الخطوة 2: ابدأ التصدير
هناك عدة طرق لبدء التصدير:
من نتائج الاستعلام
- انقر على زر التصدير (📤) في شريط أدوات النتائج
- أو انقر بزر الماوس الأيمن في أي مكان في شبكة النتائج
- اختر "تصدير النتائج" من قائمة السياق
من تنقل الجداول
- انقر بزر الماوس الأيمن على جدول في الشريط الجانبي
- اختر "تصدير البيانات"
- اختر نطاق التصدير:
- الجدول بأكمله: جميع البيانات (استخدم بحذر مع الجداول الكبيرة)
- أول N صف: عينة محدودة (يُوصى بها للاختبار)
- استعلام مخصص: اكتب عبارة SELECT محددة
اختصارات لوحة المفاتيح
⌘ + E: مربع حوار تصدير سريع⌘ + Shift + E: تصدير بالإعدادات المستخدمة آخر مرة
الخطوة 3: قم بتكوين إعدادات التصدير
يوفر مربع حوار التصدير خيارات التكوين:
الإعدادات العامة
- اسم الملف: تم إنشاؤه تلقائياً أو اسم مخصص
- موقع الحفظ: اختر وجهة المجلد
- تضمين الرؤوس: أسماء الأعمدة كصف أول (CSV)
- الترميز: UTF-8 (مُوصى به)، Latin-1، أو افتراضي النظام
خيارات خاصة بـ CSV
- المحدد: فاصلة، فاصلة منقوطة، تبويب، أنبوب، أو حرف مخصص
- مؤهل النص: علامات اقتباس، علامات اقتباس مزدوجة، أو لا شيء
- نهايات الأسطر: macOS/Linux (LF)، Windows (CRLF)، أو افتراضي النظام
- تمثيل NULL: سلسلة فارغة، "NULL"، أو نص مخصص
خيارات خاصة بـ JSON
- التنسيق: منسق (قابل للقراءة البشرية) أو مضغوط (مصغر)
- تنسيق المصفوفة: مصفوفة من الكائنات أو كائن بخاصية بيانات
- تضمين البيانات الوصفية: معلومات تنفيذ الاستعلام، أنواع الأعمدة، الطوابع الزمنية
الخطوة 4: نفّذ وتحقق
- انقر على "تصدير" لحفظ الملف
- راقب التقدم للتصديرات الكبيرة
- تحقق من حجم الملف والمحتوى
- افتح الملف المُصدّر للتأكد من التنسيق
تقنيات التصدير المتقدمة
تصدير مجموعات فرعية محددة من البيانات
اختيار الأعمدة
صدّر أعمدة محددة فقط عن طريق تعديل استعلامك:
-- بدلاً من SELECT *
SELECT customer_id, email, last_purchase_date
FROM customers
WHERE active = true;
تصفية الصفوف
استخدم بنود WHERE لتحديد البيانات المصدرة:
-- تصدير البيانات الحديثة فقط
SELECT * FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
بيانات مجمعة
صدّر النتائج الموجزة:
-- تصدير إجماليات المبيعات اليومية
SELECT
DATE(order_date) as day,
COUNT(*) as order_count,
SUM(total_amount) as daily_revenue
FROM orders
GROUP BY DATE(order_date)
ORDER BY day DESC;
التصدير الدفعي
لمجموعات البيانات الكبيرة التي تتجاوز حدود الذاكرة:
تصديرات مجزأة
-- تصدير على دفعات من 10000 صف
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 0;
-- ثم زد OFFSET للدفعة التالية
SELECT * FROM large_table
ORDER BY id
LIMIT 10000 OFFSET 10000;
مؤشرات من جانب الخادم
فعّل مؤشرات جانب الخادم في التفضيلات → الأداء لتدفق مجموعات النتائج الكبيرة دون مشكلات في الذاكرة.
التصديرات المجدولة (متقدم)
بينما لا يحتوي HarborDB على جدولة مدمجة، يمكنك:
- حفظ استعلامات التصدير كملفات
- استخدم macOS Automator لتشغيل التصديرات
- جدولة مع cron أو launchd (مستخدمون متقدمون)
- التصدير إلى مجلدات مراقبة للمعالجة الآلية
إرشادات خاصة بالتنسيق
أفضل ممارسات تصدير CSV
تحضير البيانات
- نظف الأحرف الخاصة التي قد تكسر تحليل CSV:
-- أزل أو اهرب من الفواصل في الحقول النصية
SELECT
id,
REPLACE(description, ',', ';') as description,
amount
FROM products;
- تعامل مع فواصل الأسطر في الحقول النصية:
-- استبدل الأسطر الجديدة بمسافات
SELECT
id,
REPLACE(REPLACE(notes, CHR(10), ' '), CHR(13), ' ') as notes_clean
FROM customer_notes;
إعدادات CSV الملائمة للاستيراد
لأقصى توافق مع التطبيقات الأخرى:
| التطبيق | الإعدادات الموصى بها | | ---------------- | ----------------------------------------------------- | | Excel | محدد فاصلة، مؤهل علامات اقتباس مزدوجة، ترميز UTF-8 | | Google Sheets| محدد فاصلة، ترميز افتراضي | | Python/R Pandas | محدد فاصلة، لا مؤهل نصي | | PostgreSQL COPY | محدد فاصلة، رأس CSV، اقتباس مزدوج |
أفضل ممارسات تصدير JSON
تصدير البيانات المنظمة
-- تصدير بيانات هرمية
SELECT
order_id,
order_date,
JSON_BUILD_OBJECT(
'customer_id', c.customer_id,
'name', c.name,
'email', c.email
) as customer,
JSON_AGG(
JSON_BUILD_OBJECT(
'product_id', p.product_id,
'name', p.name,
'quantity', oi.quantity,
'price', oi.price
)
) as items
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
GROUP BY o.order_id, o.order_date, c.customer_id, c.name, c.email;
اعتبارات مخطط JSON
- هيكل متسق: تأكد من أن جميع الصفوف لها نفس المفاتيح
- أنواع البيانات: يحفظ JSON السلاسل النصية والأرقام والقيم المنطقية وnull
- عمق التداخل: فكر في التسطيح لبعض التطبيقات
تحسين الأداء
تصديرات مجموعات البيانات الكبيرة
إدارة الذاكرة
- فعّل وضع التدفق في التفضيلات → الأداء
- زِد حجم الدفعة للتصديرات الأسرع (إذا كان هناك ذاكرة وصول عشوائي كافية)
- أغلق التطبيقات الأخرى لتحرير موارد النظام
- راقب Activity Monitor لاستخدام الذاكرة
اعتبارات الشبكة
لتصديرات قاعدة البيانات البعيدة:
- صدّر على الخادم إذا أمكن (استخدم SSH أو سطح مكتب بعيد)
- اضغط التصديرات (HarborDB يضغط JSON الكبير تلقائياً)
- جدّل ساعات غير الذروة لقواعد بيانات الإنتاج
- استخدم بنود WHERE لتحديد نقل البيانات
نصائح سرعة التصدير
- اختر الأعمدة المطلوبة فقط (ليس SELECT *)
- تجنب العمليات الحسابية المكلفة في استعلامات التصدير
- استخدم الأعمدة المفهرسة في بنود WHERE
- صدّر إلى SSD لأداء أسرع في إدخال/إخراج القرص
- عطّل الفحص الفوري لمضاد الفيروسات على مجلد التصدير (مؤقتاً)
الأمان والخصوصية
التعامل مع البيانات الحساسة
حذف البيانات
-- تصدير دون معلومات حساسة
SELECT
user_id,
LEFT(email, 3) || '***@***' as email_masked,
'***' as password_hash,
created_at
FROM users;
اعتبارات الامتثال
- GDPR/CCPA: أزل معلومات التعريف الشخصية (PII)
- HIPAA: أزل تعريف المعلومات الصحية المحمية (PHI)
- PCI DSS: لا تصدر أرقام بطاقات الائتمان الكاملة أبداً
- السياسات الداخلية: اتبع قواعد معالجة البيانات في مؤسستك
ممارسات التصدير الآمنة
- شفّر التصديرات الحساسة باستخدام FileVault لنظام macOS أو أدوات طرف ثالث
- استخدم طرق نقل آمنة للملفات المصدرة (SFTP، بريد إلكتروني مشفر)
- عيّن أذونات ملف مناسبة (chmod 600 للملفات الحساسة)
- احذف الملفات المؤقتة للتصدير تلقائياً
- راجع سجلات التصدير (متوفرة في التفضيلات → السجلات)
استكشاف أخطاء المشكلات الشائعة وإصلاحها
مشكلات CSV
"الأعمدة غير محاذاة في Excel"
- السبب: فواصل مضمنة أو فواصل أسطر في البيانات
- الحل: استخدم مؤهلات نصية أو نظف البيانات قبل التصدير
"مشكلات ترميز الأحرف"
- السبب: أحرف غير UTF-8 في البيانات
- الحل: صدّر بترميز UTF-8 مع BOM لـ Excel
"أخطاء استيراد ملفات كبيرة"
- السبب: حدود صفوف/أعمدة Excel (1,048,576 صف، 16,384 عمود)
- الحل: قسم البيانات أو استخدم أدوات CSV بدون حدود
مشكلات JSON
"بناء جملة JSON غير صالح"
- السبب: أحرف خاصة لم يتم تهريبها بشكل صحيح
- الحل: استخدم دوال JSON في PostgreSQL لتعقيم البيانات
"أخطاء ذاكرة في التصديرات الكبيرة"
- السبب: محاولة تحميل مجموعة البيانات بأكملها في الذاكرة
- الحل: فعّل تصدير التدفق أو صدّر على دفعات
"البيانات المتداخلة معقدة جداً"
- السبب: JSON متداخل بعمق يصعب تحليله
- الحل: بسط الهيكل أو بسّط الاستعلام
مشكلات عامة
"التصدير بطيء جداً"
- الأسباب المحتملة: تأخر الشبكة، سرعة القرص، أداء الاستعلام
- خطوات التصحيح:
- اختبر بمجموعة بيانات صغيرة أولاً
- تحقق من اتصال الشبكة
- تحقق من أن القرص لديه مساحة حرة
- حسِّن استعلام قاعدة البيانات
"بيانات مفقودة في التصدير"
- تحقق من: عوامل تصفية بند WHERE، اختيار العمود، التعامل مع NULL
- تحقق من: عدد الصفوف يطابق التوقعات، تضمين جميع الأعمدة
"أخطاء رفض الإذن**
- الحل:
- اختر موقع حفظ مختلف
- تحقق من أذونات المجلد
- شغّل HarborDB بامتيازات مناسبة
- عطّل برنامج الأمان مؤقتاً
التكامل مع أدوات أخرى
الأتمتة باستخدام النصوص البرمجية
مثال نص برمجي Shell
#!/bin/bash
# تصدير تقرير يومي وإرساله بالبريد الإلكتروني
EXPORT_FILE="/Users/$(whoami)/Exports/daily_sales_$(date +%Y%m%d).csv"
# ستحتاج إلى كتابة نص برمجي لأفعال HarborDB هنا
# فكر في استخدام أدوات سطر أوامر PostgreSQL للأتمتة
pg_dump -t sales -c --inserts your_database > "$EXPORT_FILE"
# اضغط وأرسل بالبريد الإلكتروني
gzip "$EXPORT_FILE"
echo "Daily sales export attached" | mail -s "Daily Sales Report" \
-a "$EXPORT_FILE.gz" team@example.com
الاستيراد إلى تطبيقات أخرى
Excel/Google Sheets
- CSV: استيراد مباشر عبر بيانات → من نص/CSV
- JSON: استخدم Power Query (Excel) أو Apps Script (Sheets)
أنظمة قواعد البيانات
-- أمر PostgreSQL COPY (من CSV مُصدّر)
COPY customers FROM '/path/to/export.csv' DELIMITER ',' CSV HEADER;
-- MySQL LOAD DATA
LOAD DATA LOCAL INFILE '/path/to/export.csv'
INTO TABLE customers
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
لغات البرمجة
# مثال Python pandas
import pandas as pd
# اقرأ تصدير CSV من HarborDB
df = pd.read_csv('export.csv', encoding='utf-8')
print(f"Imported {len(df)} rows")
# أو تصدير JSON
df_json = pd.read_json('export.json', orient='records')
ملخص أفضل الممارسات
قبل التصدير
- اختبر بمجموعة بيانات صغيرة أولاً
- تحقق من نتائج الاستعلام تطابق التوقعات
- تحقق من مساحة القرص المتاحة
- ضع في اعتبارك حساسية البيانات ومتطلبات الامتثال
أثناء التصدير
- اختر التنسيق المناسب لحالة استخدامك
- استخدم أسماء ملفات وصفية مع تواريخ
- ضمّن الرؤوس/البيانات الوصفية للوضوح
- راقب التقدم للتصديرات الكبيرة
بعد التصدير
- تحقق من سلامة الملف (افتح واختبر عينة)
- أمّن الملفات الحساسة (شفّر إذا لزم الأمر)
- نظّف الملفات المؤقتة
- وثّق التصدير لإمكانية التكرار
الخطوات التالية
الآن بعد أن أصبح بإمكانك تصدير البيانات بشكل فعال:
- أساسيات الاستعلام - أتقن كتابة استعلامات SQL
- تنقل قاعدة البيانات - استكشف هيكل قاعدة البيانات
- تحسين الأداء - حسِّن سرعة التصدير
- تكامل macOS - استخدم ميزات نظام macOS الأصلية
الحصول على المساعدة
إذا واجهت مشكلات في التصدير:
- تحقق من دليل الدعم لاستكشاف الأخطاء وإصلاحها
- زر الأسئلة الشائعة للأسئلة الشائعة
- اتصل بالدعم للحصول على مساعدة مخصصة
هل كان هذا مفيدًا؟
ساعدنا في تحسين هذا التوثيق من خلال تقديم ملاحظات.