سؤال

لدي مجموعة متنوعة من الوقت-سلسلة البيانات المخزنة على أكثر أو أقل جغرافيا الشبكة ، على سبيل المثالقيمة واحدة لكل 0.2 درجة من خطوط الطول والعرض.حاليا يتم تخزين البيانات في ملفات نصية ، وذلك في اليوم من سنة 251 قد ترى:

251
 12.76 12.55 12.55 12.34 [etc., 200 more values...]
 13.02 12.95 12.70 12.40 [etc., 200 more values...]
 [etc., 250 more lines]
252
 [etc., etc.]

أود أن رفع مستوى التجريد ، تحسين الأداء والحد من هشاشة (على سبيل المثال ، القانون الحالي لا يمكن إدراج يوميا بين اثنين من تلك القائمة!).كنا عابث حولها مع النقطة-y RDBMS الخارقة وحتى تكرار كل سطر من ملف نصي شكل صف في الجدول (صف واحد في الطابع الزمني/العرض زوج, عمود واحد في الطول زيادة -- yecch!).

يمكننا الذهاب إلى "ريال مدريد" البيانات الجغرافية ، ولكن النفقات العامة من علامات لكل فرد قيمة مع اللات و طويلة يبدو باهظة.حجم ودقة البيانات لم تتغير منذ عشر سنوات ومن غير المرجح أن تفعل ذلك.

لقد تم العجن حولها مع وضع كل شيء في NetCDF الملفات ، ولكن أعتقد أننا بحاجة إلى تجاوز الملف عقلية تماما -- أنا أكره أن كل البرامج لمعرفة أسماء من التمر التعامل مع ملفات متعددة لعدة سنوات ، الخ..البديل وضع كل عشر سنوات (والعد مستمر) البيانات في ملف واحد, لا تبدو قابلة للتطبيق أيضا.

أي أفكار أو المنتجات ؟

هل كانت مفيدة؟

المحلول

لقد جمعت تعليقاتكم هنا:

  1. أود أن تفعل كل هذا "w/o كتابة بلدي ملف I/O رمز"
  2. أنا بحاجة إلى الوصول من "جافا" روبي "MATLAB" و "روتين FORTRAN"

عند إضافة هذه, أنت بالتأكيد لا ترغب في تنسيق الملف الجديد. العصا مع واحد كنت قد حصلت.

إذا نحن يمكن أن نحصل لك للاسترخاء الشرط الأول - أي إذا كنت على استعداد لكتابة الملف الخاص بك I/O رمز ، ثم هناك بعض الخيارات مثيرة للاهتمام بالنسبة لك.كنت أكتب C++ دروس و كنت تستخدم شيئا مثل جرعة كبيرة لجعل حياتك فصول جديدة متاحة متعددة اللغات التي تحتاج إليها.(ولكن لست متأكدا من أنك سوف تكون قادرة على استخدام جرعة كبيرة لإعطاء لك الوصول من جافا, روبي, MATLAB و FORTRAN.قد تحتاج شيئا آخر.لست متأكدا من كيفية القيام بذلك بنفسي)

يمكنك أيضا قال: "في الواقع ، إذا كان يجب أن لديك ملفات, أنا أفضل نص لأن ثم أنا يمكن أن تذهب فقط في اليد تحرير عند الضرورة."

وفي اعتقادي أن هذا هو المضلل البيان.إذا كنت على استعداد لجعل الخاصة بك ملف I/O الروتينية ثم هناك ذكي جدا الأشياء التي يمكن القيام به...و في نهاية المطاف تراجع يمكنك أن تعطي لنفسك أداة تحويل من تنسيق الملف الجديد نفس القديم تنسيق النص كنت تستخدم...آخر أداة تحويل مرة أخرى.سأعود إلى هذا في نهاية موضوعي...

لقد قلت شيئا أريد عنوان:

"النفوذ 40 عاما من DB الأمثل"

قواعد البيانات يقصد بها البيانات العلائقية ، وليس البيانات النقطية.سوف لا نستفيد من أي شخص DB تحسينات مع هذا النوع من البيانات.كنت قد تكون قادرة على الالزام البيانات الخاصة بك إلى DB, ولكن هذا ليس نفس الشيء.

هنا الشيء الأكثر فائدة يمكن أن أقول لكم ، بناء على كل ما قلته لنا. قلت:

"أنا أكثر اهتماما في تحسين بلدي من وحدة المعالجة المركزية ، على الرغم من exec سرعة جيدة!"

هذا هو بصراحة سوف تتطلب أدوات.التوقف عن التفكير في الأمر على النحو ملف نصي.البدء في التفكير في المهام المشتركة تفعل والكتابة أدوات صغيرة - في أي لغة(ق) - لجعل تلك الأشياء تافهة القيام به.

وإذا الأدوات الخاصة بك تتحول إلى أن يكون رديء الأداء ؟ تخمين ما - انها مسطحة ملف نصي هو كريه الشكل.ولكن هذا مجرد رأيي.:)

نصائح أخرى

أنا بالتأكيد تغيير من النص إلى ثنائي ولكن تبقى كل يوم في ملف منفصل لا يزال.يمكنك أن اسم لهم في مثل هذه الطريقة أن الإدراج بين لا يسبب أي غرابة مع المؤشرات ، مثل بما في ذلك تاريخ و وقت ممكن في اسم الملف.هل يمكن أن تنظر أيضا في بنية الملف إذا كان لديك العديد من المجالات في الموقع على سبيل المثال.من غير الشائع أن نبحث عن بلاط صغير من عدد كبير من timesteps?في هذه الحالة قد تحتاج إلى تخزين لهم البلاط التي تحتوي على البيانات من عدة أيام.لم تذكر كيفية الوصول إلى البيانات التي تلعب دورا كبيرا في كيفية تنظيم بكفاءة.

التوضيحات:

أنا متفاجئ أنك وأضاف "قاعدة" واحدة من العلامات ، كما أنها تعتبر خيارا.لماذا فعلت هذا ؟

أساسا لديك 2D, مكون واحد النقطة العائمة صورة في كل مرة خطوة.هل توافق مع هذا طريقة عرض البيانات الخاصة بك ؟

لقد ذكرت أيضا الرغبة في إدراج يوميا بين اثنين من القائمة - التي يبدو غريبا جدا أن تفعل شيء.لماذا تريد أن تفعل هذا ؟ هل هناك يوم جديد قد بين 4 و 5 مايو أنني لا أعرف عنه ؟

هو "ضغط" واحدة من الأشياء التي تهتم بها أو أنك مريض مسطحة الملفات ؟

من شأنه أن تطفو أو مزدوجة تكون كافية لتخزين البيانات الخاصة بك أو هل تشعر أنك بحاجة إلى المزيد من الدقة التعسفي?

أيضا, ما هي لغة البرمجة(s) هل ترغب في الوصول إلى هذه البيانات ؟

الجواب على كيفية تخزين البيانات يعتمد كليا على ما كنت تنوي القيام به مع البيانات.على سبيل المثال, إذا كنت من أي وقت مضى بحاجة إلى استرداد عن طريق تحديد تاريخ أو نطاق التاريخ ، ثم تخزينها في قاعدة بيانات BLOB يجعل بعض معانيها.ولكن إذا كنت بحاجة إلى العثور على السجلات التي تحتوي على قيم معينة, سوف تحتاج إلى القيام بشيء مختلف.

يرجى وصف كيف عليك أن تكون قادرا على الوصول إلى البيانات/

مات, شكرا جزيلا, و كذلك longneck و jirv.

هذا المنصب كان جزئيا تجربة واختبار جودة ستاكوفيرفلوو الخطاب.إذا كنت شباب/بنات/أشكال الحياة الغريبة هي الممثل انا بيعها.

و كذلك تم توضيح تفكيري بشكل كبير.العقل لا يزال قد لا بالضرورة تنفيذ نصيحتك, ولكن أعلم أنني سوف يكون التفكير حول هذا الموضوع على محمل الجد.>;-)

أنا قد ترك تنسيق الملف نفسه ، إضافة إلى موجودة ج و/أو روبي إجراءات تك على عدد قليل من الميزات على مستوى منخفض ينقصني (مثلا ، إدراج عداد المفقودين timesteps) ، وشنق HTTP الأمامية على كل شيء بحيث يمكن أن تكون البيانات التي يستهلكها كل ما يحتاج مربع ، في أي لغة حاليا hoopy.في حين أنه في الغالب لا يتغير البرامج القديمة بأن بناء هذه البيانات ، نحن دائما الخروج مع المستهلكين الجدد لذا متعدد اللغات/متعدد الكمبيوتر شرط (جي, هل نسيت هذا؟) ينطبق على الجانب القراءة وليس الكتابة الجانب.أن يغني أيضا مجموعة كاملة من القضايا الأمنية.

شكرا مرة أخرى يا رفاق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top