BREAKING NEWS
🚀 Kaweesha launched the new AI Tech Blog! 💻 Python & Java Tutorials are now live. 🎮 Game Development Guide: Building 2D Games with Godot. 🌐 Web Hosting secrets revealed - Check the latest post!

The Future of Storage: DNA වල දත්ත ගබඩා කරන්නේ කොහොමද? (DNA Data Storage) 🧬💻

DNA Data Storage and Biological Computing in Sinhala - Future of Tech

අපි සාමාන්‍යයෙන් අපේ ෆොටෝස්, වීඩියෝස්, ගේම්ස් සේව් කරන්නේ කොහෙද? එක්කෝ Hard Disk (HDD) එකක, නැත්නම් SSD එකක, එහෙමත් නැත්නම් Cloud එකේ (Google Drive වගේ). ඒත් ඔයා කවදාහරි හිතලා තියෙනවද මේ ලෝකේ තියෙන දත්ත (Data) ප්‍රමාණය දවසින් දවස වැඩි වෙන වේගෙට, තව අවුරුදු 10කින් විතර අපිට මේවා සේව් කරලා තියාගන්න Hard Disks මදි වුණොත් මොකද කරන්නේ කියලා?

මෙන්න මේ ප්‍රශ්නෙට උත්තරයක් විදියට තමයි ලෝකේ ඉන්න සුපිරිම විද්‍යාඥයෝ සහ Computer Scientists ලා එකතු වෙලා DNA Data Storage කියන සංකල්පය ගෙනාවේ. ඔව්, ඔයා අහපු දේ හරි. අපේ ඇඟේ තියෙන, අපේ ජානමය ලක්ෂණ අරගෙන යන DNA (Deoxyribonucleic Acid) අණු ඇතුලේ, පරිගණක දත්ත (0 සහ 1) ගබඩා කරන තාක්ෂණය ගැන තමයි අද KP Tech Gear අපි පතුලටම බහින්නේ. මේක හරියට Organoid Intelligence වගේම, හැබැයි ඊට වඩා ප්‍රායෝගිකව අද වෙද්දිත් පර්යේෂණ මට්ටමේ සාර්ථක වෙලා තියෙන තාක්ෂණයක්.

🌍 1. ඇයි අපිට අලුත් Storage ක්‍රමයක් ඕනේ වෙන්නේ? (The Data Crisis)

අද වෙද්දී ලෝකේ පුරා තියෙන Data Centers වල දත්ත Zettabytes (ZB) ගාණක් ගබඩා කරලා තියෙනවා. 1 Zettabyte කියන්නේ Terabytes බිලියනයකට (1,000,000,000 TB) සමාන ප්‍රමාණයක්. 2025 වෙද්දි ලෝකේ සම්පූර්ණ දත්ත ප්‍රමාණය 175 ZB වෙනවා කියලා IDC එකෙන් හොයාගෙන තියෙනවා. මේ දත්ත ගබඩා කරන්න අලුතින් Data Centers හදන්න ගියොත් ලෝකේ තියෙන ඉඩත් මදි වෙනවා, ඒවට යන විදුලි වියදමත් දරාගන්න බැරි වෙනවා.

⚠️ වර්තමාන Hard Drives වල තියෙන ප්‍රධාන ගැටළු:
  • ආයු කාලය අඩුයි: හොඳම Hard Disk එකක් වුණත් අවුරුදු 5-10ක් යද්දී කැඩෙන්න බලනවා. SSD වුණත් ලියන්න පුළුවන් වාර ගණන (Write Cycles) සීමිතයි.
  • පරිසර දූෂණය: මේවා හදන්න විශාල වශයෙන් ලෝහ සහ ප්ලාස්ටික් ඕනේ. ඒ වගේම දත්ත මධ්‍යස්ථාන සිසිල් කරන්න මහා පරිමාණයෙන් විදුලිය සහ ජලය වැය වෙනවා.
  • ඉඩකඩ: Exabytes ගාණක් ගබඩා කරන්න පාපන්දු පිටි ගණනාවක විශාලත්වයෙන් Data Centers හදන්න වෙනවා.

🧬 2. DNA කියන්නේ මොකක්ද? ඒකෙ Data සේව් කරන්නේ කොහොමද?

පරිගණකයක දත්ත ගබඩා වෙන්නේ Binary විදියට. ඒ කියන්නේ 0 සහ 1 කියන අගයන් දෙකෙන්. හැබැයි DNA එකක් හැදිලා තියෙන්නේ නයිට්‍රජනීය භෂ්ම (Nitrogenous bases) වර්ග 4කින්. ඒවට අපි කියන්නේ A, T, C, සහ G කියලා (Adenine, Thymine, Cytosine, Guanine).

විද්‍යාඥයෝ කල්පනා කළා, "ඇයි අපිට බැරි මේ 0 සහ 1 කියන පරිගණක කේතය, A, T, C, G කියන DNA කේතයට හරවන්න?" අන්න එතනින් තමයි මේ විප්ලවය පටන් ගත්තේ. අපි බලමු ඒක වෙන විදිය.

💡 Binary අගයන් DNA බවට හැරවීම (Encoding Rule):

පරිගණකයේ Bits දෙකක් එකතු කරලා අපිට DNA Base එකක් හදාගන්න පුළුවන්.
00 = A (Adenine)
01 = C (Cytosine)
10 = G (Guanine)
11 = T (Thymine)

උදාහරණයක් විදියට, "K" කියන අකුර පරිගණකයේ සේව් වෙන්නේ 01001011 විදියට. අපි මේක DNA කේතයකට හැරෙව්වොත්:
01 = C
00 = A
10 = G
11 = T
ඒ කියන්නේ "K" අකුර DNA strand එකක සේව් වෙන්නේ CAGT විදියටයි!

💻 Python වලින් මේක වෙන විදිය බලමු (Simulation)

අපි මේ සංකල්පය තේරුම් ගන්න පොඩි Python Program එකක් ලියලා බලමු. මේකෙන් කරන්නේ සාමාන්‍ය වචනයක් අරගෙන ඒක Binary වලට හරවලා, ඊට පස්සේ ඒ Binary එක DNA කේතයක් (ATCG) බවට පත් කරන එකයි.

def text_to_binary(text):
    # අකුරු වල ASCII අගය අරගෙන ඒක 8-bit Binary බවට පත් කිරීම
    return ''.join(format(ord(char), '08b') for char in text)

def binary_to_dna(binary_str):
    # Binary යුගල DNA Base වලට Map කිරීම
    dna_map = {'00': 'A', '01': 'C', '10': 'G', '11': 'T'}
    dna_sequence = ''
    
    # Bits 2න් 2කට කඩාගෙන DNA වලට හැරවීම
    for i in range(0, len(binary_str), 2):
        pair = binary_str[i:i+2]
        dna_sequence += dna_map[pair]
    
    return dna_sequence

# Program එක Run කිරීම
text = "KPTech"
binary_data = text_to_binary(text)
dna_data = binary_to_dna(binary_data)

print(f"Original Text: {text}")
print(f"Binary Data: {binary_data}")
print(f"DNA Sequence: {dna_data}")
/* Output: Original Text: KPTech Binary Data: 010010110101000001010100011001010110001101101000 DNA Sequence: CAGTCACACACCGACCCCGCGA */

🔬 3. මේවා ඇත්තටම Write කරන්නේ සහ Read කරන්නේ කොහොමද?

දැන් ඔයාට ප්‍රශ්නයක් ඇති කෝඩ් එකෙන් හැදුවට මේවා ඇත්තටම භෞතිකව (Physically) හදන්නේ කොහොමද කියලා. මේකට පියවර 4ක් තියෙනවා.

  1. Encoding (කේතනය කිරීම): මුලින්ම File එකක තියෙන 0 සහ 1 ටික අර උඩ Python කෝඩ් එකේ වගේ A, T, C, G අකුරු බවට පත් කරනවා.
  2. Synthesis (සංශ්ලේෂණය / ලිවීම): මේක තමයි Hard Disk එකක "Write" කරනවා වගේ වැඩේ. මේකෙදි කරන්නේ රසායනාගාරයක (Lab එකක) තියෙන DNA Synthesizer මැෂින් එකක් පාවිච්චි කරලා, අර අපි හදාගත්තු අකුරු පිළිවෙලට (CAGTCAC...) ගැලපෙන විදියට කෘතිමව DNA අණු එකින් එක අමුණලා හදන එකයි. මේවා පියවි ඇහැට පේන්නේ නැති තරම් කුඩා ද්‍රව බිංදුවක් (Liquid drop) විදියට තමයි එන්නේ.
  3. Storage (ගබඩා කිරීම): මේ හදාගත්තු DNA ද්‍රවණය, හිරු එළිය නොවැටෙන, සීතල ටියුබ් එකක දාලා ආරක්ෂිතව තියනවා.
  4. Sequencing (කියවීම): ආයේ දවසක ඔයාට මේ Data ටික ඕන වුණොත්, ඒ DNA ටියුබ් එක DNA Sequencer කියන මැෂින් එකකට දානවා (මේක හරියට Read කරනවා වගේ). ඒ මැෂින් එකෙන් අර DNA එකේ තියෙන A, T, C, G පිළිවෙල කියවලා පරිගණකයට දෙනවා. ඊට පස්සේ පරිගණකය ආයෙමත් ඒක 0 සහ 1 බවට පත් කරලා අපිට මුල් File එක දෙනවා.
🔍 Deep Dive: කොච්චර Data ප්‍රමාණයක් DNA වල ගබඩා කරන්න පුළුවන්ද?

මේක අහපුවහම නම් ඔයාගේ ඔළුව අනිවාර්යයෙන්ම අවුල් යයි. DNA කියන්නේ මේ ලෝකේ තියෙන දත්ත ගබඩා කරන්න පුළුවන් ඝනත්වය වැඩිම (Highest Density) මාධ්‍යයයි. DNA ග්‍රෑම් 1ක (1 Gram), Petabytes 215ක් (215,000 Terabytes) ගබඩා කරන්න පුළුවන්!

ඒ කියන්නේ ලෝකේ තියෙන අන්තර්ජාලය සම්පූර්ණයෙන්ම සපත්තු පෙට්ටියක සයිස් තියෙන DNA ටියුබ් ටිකකට දාන්න පුළුවන්. 2016 දී Microsoft සමාගම සහ University of Washington එක එකතු වෙලා, 200MB ක Music Video එකක් සහ පොත් කීපයක් සාර්ථකව DNA වල ගබඩා කරලා ආයේ 100% ක් නිවැරදිව Read කරලා පෙන්නුවා.

⏳ 4. DNA වල ආයු කාලය (Durability)

අපි කලින් කතා කළා සාමාන්‍ය Hard Drive එකක් අවුරුදු 10කින් විතර වැඩ කරන්නේ නැතුව යනවා කියලා. CD/DVD වුණත් සීරීම් වෙලා පලුදු වෙනවා. හැබැයි DNA කියන්නේ ස්වභාවධර්මයේ පුදුමාකාර නිර්මාණයක්.

හොඳට මතක් කරන්න, විද්‍යාඥයෝ අවුරුදු දසදහස් ගණනකට කලින් හිටපු මැමත් (Mammoth) සත්තුන්ගේ ඇටකටු හොයාගෙන, ඒවගේ තියෙන DNA අරගෙන පරික්ෂා කරනවා නේද? ඒ කියන්නේ අවුරුදු දහස් ගණනක් ගිහිල්ලත් DNA කියන දේ විනාශ වෙලා නෑ! හරියට සීතල කරලා තියාගත්තොත් (Cold Storage), DNA වල ගබඩා කරන Data එකක් අවුරුදු 2000ක් - 5000ක් වුණත් කිසිම හානියක් නැතුව තියාගන්න පුළුවන්. මේක අනාගත පරපුරට ලෝකයේ දැනුම ඉතුරු කරලා යන්න පුළුවන් හොඳම විදියක්.

🚧 5. තවමත් තියෙන අභියෝග (Challenges)

මේ තාක්ෂණය මෙච්චර සුපිරි නම් ඇයි අපි තාම පාවිච්චි කරන්නේ නැත්තේ? ඒකට ප්‍රධාන හේතු කීපයක් තියෙනවා.

  • අධික පිරිවැය (High Cost): අද තියෙන තාක්ෂණයෙන් 1 MB Data එකක් DNA වල Write කරන්න ඩොලර් දහස් ගණනක් යනවා. මේක සාමාන්‍ය මිනිස්සුන්ට ගන්න පුළුවන් මට්ටමකට එන්න තව ගොඩක් කල් යයි.
  • වේගය ඉතා අඩුයි (Extremely Slow Read/Write Speeds): SSD එකකට තත්පරෙන් Data යවන්න පුළුවන් වුණාට, DNA Synthesize කරන්න (Write කරන්න) දවස් ගාණක් යනවා. ඒ වගේම Sequencer එකකින් Read කරන්නත් පැය ගාණක් යනවා. ඒ නිසා මේක එදිනෙදා වැඩවලට (OS එකක් රන් කරන්න වගේ) පාවිච්චි කරන්න බෑ. මේක පාවිච්චි වෙන්නේ Archive Storage (කවදාවත් මකන්නේ නැති, කලාතුරකින් බලන Data) වලට විතරයි.

ඉදිරි අනාගතය අනිවාර්යයෙන්ම Biology සහ Technology එකතු වුණු තැනක් (Bio-Computing) වේවි. සිලිකන් චිප් වල සීමාවට ආවට පස්සේ අපිට යන්න තියෙන එකම විකල්පය මේවා තමයි.

අද ලිපියෙන් අලුත් දෙයක් ඉගෙනගත්තා කියලා හිතනවා. Article එක දිග වුණත්, Computer Science කියන්නේ මේ වගේ ගැඹුරට හිතන්න ඕන Field එකක්. මේ වගේම සුපිරි Post එකකින් ඊළඟ දවසේ හම්බවෙමු. ජය වේවා! 👇

Author

About

Tech enthusiast, Python/Java Developer, and Gamer. Sharing knowledge about coding and modern technology.

Discussion

Kaweesha AI ×
Hello Kaweesha! I am ready to help with Python, Java, or Hosting queries. 🤖