ஏன் AI ஏஜெண்டுகள் என்னை SQLite நோக்கித் திருப்புகின்றன
நான் எதையும் யோசிக்காமல் Postgres-ஐப் பயன்படுத்தும் பழக்கம் கொண்டவன். இப்போது, நான் SQLite-ஐத் தேர்ந்தெடுக்கிறேன்.
Postgres பயனற்றுவிட்டது என்று நான் வாதிடவில்லை. நான் இப்போதும் அதை அடிக்கடி பயன்படுத்துகிறேன். மாறாக, AI ஏஜெண்டுகளால் எனது சிந்தனை மாறியுள்ளது.
AI ஏஜெண்டுகள் நாம் தரவைக் கையாளும் முறையை மாற்றுகின்றன. அவற்றின் நிலை (state) அதிக மாற்றமடையும் தன்மை கொண்டது (high-churn), உள்ளூர் சார்ந்தது (local) மற்றும் தனிப்பட்டது (private). ஒவ்வொரு சிறிய மாற்றத்தையும் ஒரு மைய Postgres சர்வருக்கு அனுப்புவது மெதுவானது மற்றும் செலவு மிக்கது.
இந்த வகையான வேலைப்பளுவிற்கு SQLite ஏன் வெற்றி பெறுகிறது என்பதற்கான காரணங்கள் இங்கே:
- அருகாமை (Proximity): பயனுள்ள ஏஜெண்டுகள் நீங்கள் வேலை செய்யும் இடத்திலேயே இயங்குகின்றன. அவை உங்கள் டெர்மினல் (terminal), IDE அல்லது பிரவுசரில் இயங்குகின்றன. நெட்வொர்க் ரீட்களை விட உள்ளூர் SQLite ரீட்கள் (reads) மிக வேகமானவை.
- செலவு (Cost): ஒரு மணிநேரம் மட்டுமே நீடிக்கும் தற்காலிகப் பணிகளைச் (scratch work) சேமிக்க உங்களுக்குப் பெரிய உள்கட்டமைப்புத் தேவையில்லை.
- தனியுரிமை (Privacy): ஒரு ஏஜெண்டின் கோப்பு குறியீட்டை (file index) உள்ளூர் இயந்திரத்திலேயே வைத்திருப்பது தேவையற்ற தரவு கையாளுதல் அபாயங்களைத் தவிர்க்கிறது.
SaaS உருவாக்குநர்களுக்கு, நான் ஒரு புதிய முறையைக் காண்கிறேன்: ஒவ்வொரு வாடிக்கையாளருக்கும் (tenant) ஒரு SQLite தரவுத்தளம்.
பழைய முறையில், நாங்கள் ஒரு பெரிய Postgres தரவுத்தளத்தைப் பயன்படுத்தி, tenant_id நெடுவரிசை (column) மூலம் அனைத்தையும் வடிகட்டினோம். SQLite மூலம், ஒவ்வொரு வாடிக்கையாளருக்கும் அவர்களுக்கென ஒரு தனி கோப்பு கிடைக்கிறது. இது சிறந்த பலன்களை வழங்குகிறது:
- தனிமைப்படுத்துதல் (Isolation): ஒரு வாடிக்கையாளர் கோப்பில் ஏற்படும் தவறு முழு கிளஸ்டரையும் (cluster) பாதிக்காது.
- அளவிடுதல் (Scaling): ஒரு புதிய வாடிக்கையாளரைச் சேர்ப்பது என்பது ஒரு புதிய கோப்பைச் சேர்ப்பது போன்றது. தொடங்குவதற்கு எந்தப் பெரிய செயல்முறையும் தேவையில்லை.
- எளிமை (Simplicity): பேக்கப் (Backups) மற்றும் நீக்குதல் (deletions) ஆகியவை எளிமையான கோப்புச் செயல்பாடுகளாக மாறிவிடுகின்றன.
சிறந்த கட்டமைப்பு என்பது ஒரு படிநிலை (gradient) போன்றது.
SQLite-ஐ உங்கள் பணிமேடையாக (workbench) பயன்படுத்துங்கள். இது வேகமான, உள்ளூர் மற்றும் தற்காலிகத் தரவுகளுக்கு (disposable state) ஏற்றது. Postgres-ஐ உங்கள் பாதுகாப்பான களஞ்சியமாக (vault) பயன்படுத்துங்கள். இது பணம், பில்லிங் மற்றும் உலகளாவிய உண்மையான தரவுகளுக்கு (global truth) ஏற்றது.
ஒரு நிகழ்வுப் பதிவு (event log) இவை இரண்டையும் இணைக்கிறது. தற்காலிகப் பணிகள் SQLite-இல் நடக்கும், முக்கியமான மாற்றங்கள் மையப் பதிவேட்டிற்கு (central ledger) செல்லும்.
சுற்றுச்சூழல் அமைப்பு (ecosystem) இறுதியாக இதை ஆதரிக்கிறது. Turso மற்றும் Cloudflare D1 போன்ற கருவிகள், SQLite பல ஆண்டுகளாகப் பெறாத நெட்வொர்க்கிங் மற்றும் ரெப்ளிகேஷன் (replication) வசதிகளை வழங்குகின்றன.
எழுத்தாளர் மீண்டும் எட்ஜிற்கு (edge) நகர்கிறார். தரவு நிலையும் (state) அதைப் பின்தொடர்கிறது.
Source: https://dev.to/gyu07/why-ai-agents-make-me-reach-for-sqlite-4dh0
Optional learning community: https://t.me/GyaanSetuAi