මම ස්කන්ධ වර්ණාවලීක්ෂයකින් ස්කන්ධය MySQL දත්ත ගබඩාවක ගබඩා කිරීමට සැලසුම් කර ඇති අතර මෙම දත්ත ප්රමාණය ගබඩා කිරීම සහ විශ්ලේෂණය කිරීම දුරස්ථව කළ හැකි දැයි දැන ගැනීමට කැමැත්තෙමි. පරිසරය අනුව කාර්ය සාධනය වෙනස් වන බව මම දනිමි, නමුත් මම විශාලත්වයේ දළ අනුපිළිවෙල සොයමි: විමසීම් සඳහා දින 5 ක් හෝ මිලි තත්පර 5 ක් ගත වේද?
ආදාන ආකෘතිය
සෑම ආදාන ගොනුවකම වර්ණාවලීක්ෂයේ තනි ධාවනයක් අඩංගු වේ; සෑම ධාවනයක්ම ස්කෑන් සමූහයකින් සමන්විත වන අතර සෑම ස්කෑන් එකකටම ඇණවුම් කළ දත්ත ස්ථාන තිබේ. පාර-දත්ත ටිකක් ඇත, නමුත් ගොනුවේ බහුතරය අරා 32- හෝ 64-බිට් අඟල් හෝ පාවෙන වලින් සමන්විත වේ.
ධාරක පද්ධතිය
| ---------------- + ------------------------------- | | මෙහෙයුම් පද්ධතිය | වින්ඩෝස් 2008 64-බිට් | | MySQL අනුවාදය | 5.5.24 (x86_64) | | CPU | 2x Xeon E5420 (මුළු හර 8 ක්) | | RAM | 8GB | | SSD ගොනු පද්ධතිය | 500 GiB | | HDD RAID | 12 TiB | | ---------------- + ------------------------------- |
නොසැලකිලිමත් ප්රොසෙසර වේලාවක් භාවිතා කරමින් සේවාදායකයේ ක්රියාත්මක වන තවත් සේවාවන් කිහිපයක් තිබේ.
ගොනු සංඛ්යාලේඛන
| ------------------ + -------------- | | ගොනු ගණන | ~ 16,000 | | මුළු ප්රමාණය | 1.3 TiB | | අවම ප්රමාණය | බයිට් 0 | | උපරිම ප්රමාණය | 12 ගිබ් | | මධ්යන්ය | 800 MiB | | මධ්ය | 500 MiB | | මුළු දත්ත ස්ථාන | ඩොලර් බිලියන 200 | | ------------------ + -------------- |
මුළු දත්ත ස්ථාන ගණන ඉතා දළ ඇස්තමේන්තුවකි.
යෝජිත යෝජනා ක්රමය
මම "හරි" දේවල් කිරීමට සැලසුම් කරමි (එනම් පිස්සු වැනි දත්ත සාමාන්යකරණය කිරීම) ඒ නිසා runs
මේසයක්, spectra
විදේශීය යතුරක් runs
සහිත datapoints
මේසයක් සහ විදේශීය යතුරක් සහිත මේසයක් තිබිය spectra
යුතුය.
බිලියන 200 දත්ත දත්ත ප්රශ්නය
මම බහු වර්ණාවලියක් හරහා විශ්ලේෂණය කිරීමට බලාපොරොත්තු වන අතර සමහර විට බහුවිධ ලකුණු පවා ලබා ගත හැකි අතර එහි ප්රති ing ලයක් ලෙස පේළි මිලියන ගණනක් ස්පර්ශ කළ හැකිය. මම සෑම දෙයක්ම නිසියාකාරව සුචිගත කර ඇතැයි සිතමු (එය වෙනත් ප්රශ්නයකට මාතෘකාවක් වේ) සහ ජාලය පුරා සිය ගණනක් MiB මාරු කිරීමට උත්සාහ නොකරමි, මෙය හැසිරවීම දුරස්ථව MySQL හට පිළිගත හැකිද?
අමතර තොරතුරු
ස්කෑන් දත්ත XML මත පදනම් වූ mzML ආකෘතියේ ගොනු වලින් ලැබෙනු ඇත
. මෙම ආකෘතියේ මස් <binaryDataArrayList>
දත්ත ගබඩා කර ඇති
මූලද්රව්යවල ඇත. සෑම පරිලෝකනයකින්ම> = 2 <binaryDataArray>
මූලද්රව්ය නිපදවන අතර ඒවා එකට ගත් විට පෝරමයේ ද්විමාන (හෝ වැඩි) අරාවක් සාදයි [[123.456, 234.567, ...], ...]
.
මෙම දත්ත ලිවීමට එක් වරක් වන බැවින් යාවත්කාලීන කාර්ය සාධනය සහ ගනුදෙනු ආරක්ෂාව ගැන සැලකිලිමත් නොවේ.
දත්ත සමුදා ක්රමයක් සඳහා මගේ අ ාන සැලැස්ම:
runs
වගුව
| තීරුවේ නම | වර්ගය | | ------------- + ------------- | | id | ප්රාථමික කේ | | ආරම්භක_ වේලාව | TIMESTAMP | | නම | වර්චාර් | | ------------- + ------------- |
spectra
වගුව
| තීරුවේ නම | වර්ගය | | ---------------- + ------------- | | id | ප්රාථමික කේ | | නම | වර්චාර් | | දර්ශකය | INT | | වර්ණාවලි_ වර්ගය | INT | | නියෝජනය | INT | | run_id | විදේශීය කේ | | ---------------- + ------------- |
datapoints
වගුව
| තීරුවේ නම | වර්ගය | | ------------- + ------------- | | id | ප්රාථමික කේ | | වර්ණාවලි_අයි | විදේශීය කේ | | mz | ඩබල් | | අංක_ ගණන් | ඩබල් | | දර්ශකය | INT | | ------------- + ------------- |
මෙය සාධාරණද?
එබැවින්, ඔබට අනුමාන කිරීමට හැකි වූවාක් මෙන්, මම ක්රමලේඛකයා මිස විද්යාගාරයේ ජීව විද්යා ologist යා නොවෙමි, එබැවින් විද්යාව මෙන්ම සැබෑ විද්යා .යන් ද මම නොදනිමි.
මෙන්න මම ගනුදෙනු කරන ආකාරයේ දත්තවල තනි වර්ණාවලීක්ෂයේ (ස්කෑන්) කුමන්ත්රණයක්:
මෘදුකාංගයේ පරමාර්ථය වන්නේ කඳු මුදුන් කොහේද සහ කොතරම් වැදගත්ද යන්න සොයා බැලීමයි. මෙය දැන් හඳුනා ගැනීම සඳහා අපි හිමිකාර මෘදුකාංග පැකේජයක් භාවිතා කරමු, නමුත් අපට අපේම විශ්ලේෂණ වැඩසටහනක් (ආර් වලින්) ලිවීමට අවශ්යය, එම නිසා තහඩු යටතේ සිදුවන්නේ කුමක්දැයි අපි දනිමු. ඔබට පෙනෙන පරිදි, දත්ත වලින් බහුතරයක් උනන්දුවක් නොදක්වන නමුත් අපගේ ඇල්ගොරිතම මඟ හැරුණු ප්රයෝජනවත් දත්ත ඉවත දැමීමට අපට අවශ්ය නැත. අප සෑහීමකට පත්විය හැකි උච්ච ලැයිස්තුවක් අප සතුව ඇති විට, අනෙක් නල මාර්ග දත්ත ස්ථානවල අමු ලැයිස්තුවට වඩා එම උපරිම ලැයිස්තුව භාවිතා කරනු ඇත. අමු දත්ත ස්ථාන විශාල පිපිරීමක් ලෙස ගබඩා කිරීම ප්රමාණවත් යැයි මම සිතමි, එබැවින් ඒවා අවශ්ය නම් නැවත විශ්ලේෂණය කළ හැකි නමුත් උච්චයන් පමණක් විශේෂිත දත්ත සමුදා සටහන් ලෙස තබා ගන්න. එවැනි අවස්ථාවක දී, වර්ණාවලියක් සඳහා කඳු මුදුන් දුසිම් කිහිපයක් පමණක් වනු ඇත, එබැවින් පිස්සු පරිමාණ දේවල් නොකළ යුතුය.