Hamming Distance mo Su'esu'ega Fa'atosina ile SQLite
Hamming Distance mo Su'esu'ega Fa'atosina ile SQLite O lenei su'esu'ega e su'esu'e i le samala, su'esu'e lona taua ma le a'afiaga. Manatu Autu o lo'o ufiufi O lo'o su'esu'eina e lenei mea: O mataupu faavae ma a'oa'oga Fa'ata'ita'i...
Mewayz Team
Editorial Team
Hamming distance o se fuafa'atatau tutusa fa'avae e fa'atatauina ni vaega 'ese'ese i le va o manoa binary e lua, ma avea ai ma se tasi o auala sili ona vave ma sili ona lelei mo su'esu'ega lata ane-tuaoi i fa'amaumauga. A fa'aoga i le SQLite e ala i su'esu'ega tu'ufa'atasiga, Hamming mamao e tatala ai le agava'a o su'esu'ega fa'apitoa i atina'e e aunoa ma le tele o fa'amaumauga fa'amaumauga tu'ufa'atasi.
O le a le Hamaming Mamao ma Aisea e Taua ai mo Su'esu'ega Fa'amaumauga?
Hamming distance e fuaina ai le numera o tulaga e eseese ai laina binary e lua e tutusa le umi. Mo se faʻataʻitaʻiga, o manoa binary 10101100 ma 10001101 e iai le mamao o le Hamming o le 2, aua e eseese i latou i ni tulaga tutusa e lua. I fa'amatalaga su'esu'e fa'amaumauga, o lenei fa'atusatusaga e foliga mai e fa'afaigofie e fa'ateleina le mamana.
E fa'alagolago le su'esu'ega SQL masani i le fa'atusa tonu po'o le fa'asino igoa atoa, o lo'o tauivi ma le fa'atusa tutusa - su'e fa'ai'uga e uigale mea lava e tasi nai lo le fa'asoaina o fa'aupuga tutusa. O le sasaina o le mamao e fa'afeso'ota'i ai lenei va e ala i le fa'agaioia i luga o fa'amaufa'ailoga o le hash binary e maua mai i mea fa'apipi'i, e fa'ataga ai fa'amaumauga e pei o le SQLite e fa'atusatusa le faitau miliona o fa'amaumauga i milliseconds e fa'aoga ai le fa'agaioiga XOR bitwise.
O le metric na fa'alauiloaina e Richard Hamming i le 1950 i le tulaga o tulafono fa'asa'o sese. I le tele o tausaga mulimuli ane, na avea ma totonugalemu o le toe maua mai o faʻamatalaga, aemaise lava i faiga e sili atu le taua o le saoasaoa nai lo le saʻo atoatoa. O lona O(1) fa'atatau ile fa'atusatusaga (fa'aaogaina o fa'atonuga o le CPU popcount) e fa'apitoa ona fetaui lelei mo masini fa'amaumauga tu'u ma mama.
E Fa'afefea ona Tu'ufa'atasia e Su'esu'e Fa'ato'aga le Mamao o Samu ma Fa'amatalaga SQLite masani?
Su'esu'ega fa'ato'aga ile SQLite e tu'ufa'atasia ai ni ta'iala e lua e toe maua mai ai: su'esu'ega fa'apitoa (fa'aoga le fa'aopoopoga ole su'esu'ega o tusitusiga a le SQLite) ma le su'esu'ega tutusa tele (fa'aaogā le mamao o Hamming i fa'amau fa'atatauina). E le lava na'o se faiga e mana'omia mo su'esu'ega fa'aonaponei.
O se paipa su'esu'e fa'atosina masani e galue e fa'apea:
- Fa'apipi'i fa'atupuina: E fa'aliliuina pepa ta'itasi po'o fa'amaumauga i se vete fa'a'a'e-va'a maualuga e fa'aaoga ai se fa'ata'ita'iga o le gagana po'o se galuega fa'ailoga.
- Binary quantization: O lo'o fa'apipi'i le vete fa'a'a'amea i totonu o se fa'ata'ita'iga fa'alua (fa'ata'ita'iga, 64 po'o 128 bits) e fa'aoga ai faiga e pei o le SimHash po'o le fa'asologa fa'afuase'i, e matua fa'aitiitia ai mana'oga e teu ai.
- Teuga fa'amaufa'ailoga sau: O lo'o teuina le hash binary e fai ma koluma INTEGER po'o BLOB ile SQLite, e mafai ai ona fa'agaioi fa'avavevave ile taimi ole fesili.
- Fa'ailoga taimi ole fesili: A tu'uina atu e se tagata fa'aoga se fesili, e fa'atatau e SQLite le mamao o Hamming e ala i se galuega fa'ale-aganu'u e fa'aaoga ai le XOR ma le popcount, toe fa'afo'i sui fa'avasega i sina mea tutusa.
- Fesoasoani sikoa: O fa'ai'uga mai su'esu'ega fa'aupuga a Hamming ma su'esu'ega fa'aupuga FTS5 o lo'o tu'ufa'atasia e fa'aoga ai le Reciprocal Rank Fusion (RRF) po'o sikoa fa'amamafa e maua ai se lisi fa'ai'u.
O le fa'alauteleina o le SQLite e ala i fa'aopoopoga e mafai ona utaina po'o galuega tu'ufa'atasia e mafai ai ona ausia lenei fausaga e aunoa ma le alu atu i se faiga fa'amaumauga e sili atu le mamafa. O le i'uga o se masini su'esu'e lava ia e alu i so'o se mea e fa'aoga ai le SQLite - e aofia ai masini fa'apipi'i, masini feavea'i, ma fa'aoga pito.
Malamalamaaga Autu: Su'esu'ega Binary Hamming i luga o 64-bit hashes e tusa ma le 30-50x le vave nai lo le cosine tutusa i luga o vete float32 atoa o le fua tutusa. Mo talosaga e mana'omia ai le laititi o le 10ms su'esu'e i le faitau miliona o fa'amaumauga e aunoa ma ni meafaigaluega fa'apitoa, o le Hamming mamao i SQLite e masani lava o le fefa'ataua'iga sili ona lelei fa'ainisinia i le va o le sa'o ma le fa'atinoga.
O a uiga fa'atinoga o le Hamming Search i SQLite?
SQLite ose faila e tasi, e leai se 'au'auna fa'amaumauga, lea e fa'atupu fa'alavelave fa'apitoa ma avanoa mo le fa'atinoina o sailiga mamao a Hamming. A aunoa ma ni fausaga fa'asino igoa vec e pei o le HNSW po'o le IVF (e maua i faleoloa fa'apitoa), e fa'alagolago le SQLite i le fa'ata'ita'iga laina mo le su'esu'ega Hamming — ae e la'ititi le fa'agata nai lo le fa'aaliga.
O le 64-bit Hamming mamao fa'atatau e mana'omia ai na'o le XOR ona soso'o ai lea ma le popcount (faitau faitau aofa'i, faitau seti seti). O PPU faʻaonaponei e faʻatino lenei mea i se faʻatonuga e tasi. Ole su'esu'ega atoa ole 1 miliona 64-bit hashes e mae'a ile 5-20 milliseconds ile meafaigaluega o oloa, ma fa'aoga ai le SQLite mo fa'amaumauga e o'o atu i le tele o fa'amaumauga e aunoa ma ni togafiti fa'asinomaga fa'aopoopo.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Mo fa'amaumauga tetele, o le fa'aleleia o fa'atinoga e sau mai le su'ega a le sui tauva: fa'aogaina le SQLite's WHERE clauses e fa'ate'a ai laina e ala i metadata (va'aiga o aso, vaega, vaega o tagata fa'aoga) a'o le'i fa'aogaina le mamao o Hamming, fa'aiti'itia le tele o su'esu'ega lelei i fa'atonuga o le tele. O i'inei e susulu moni ai su'esu'ega tu'ufa'atasia - o le fa'amama upu fa'aitiitiga e galue e pei o se fa'amama vave, ma le mamao o Hamming e toe fa'atulaga ai sui o lo'o totoe.
E fa'afefea ona e fa'atinoina se fa'agaioiga mamao i le SQLite?
SQLite e le o aofia ai se galuega mamao Hamming, ae o lona C extension API e faʻafaigofie ai galuega faʻapitoa e resitalaina. I le Python fa'aaoga le sqlite3 module, e mafai ona e resitalaina se galuega e fa'atatauina le mamao o le Hamming i le va o numera lua:
E talia e le galuega fa'aupuga fa'atatau e lua e fa'atusalia ai le fa'atama'i, fa'atatau a latou XOR, ona faitau lea o mea fa'atulaga e fa'aaoga ai le Python's bin().count('1') po'o se faiga fa'aoga vave. O le taimi lava e lesitala ai, o le a maua lenei galuega i fesili SQL e pei lava o soʻo se galuega faʻapipiʻi i totonu, faʻatagaina fesili e pei o le filifilia o laina e pa'ū ai le mamao o Hamming i se hash fesili i lalo ifo o le paepae, faʻatonu e ala i le mamao e alu aʻe e toe aumai muamua le fetaui.
Mo le fa'atinoina o galuega, tu'ufa'atasia le popcount logic e fai ma fa'aopoopoga C e fa'aaoga ai le SQLite's sqlite3_create_function API e maua mai ai le 10-100x sili atu le fa'atinoga nai lo le fa'aliliuina o le Python, e maua ai le SQLite's Hamming search e mafai ona o'o atu i fa'amaumauga fa'amaumauga fa'apitoa mo le tele o galuega fa'atino.
O afea e tatau ai i Pisinisi ona Filifili SQLite Hamming Su'esu'ega I luga o Fa'amaumauga Vector Fa'apitoa?
O le filifiliga i le va o SQLite-based Hamming search ma faʻamaumauga tuʻufaʻatasiga faʻapitoa e pei o Pinecone, Weaviate, poʻo le pgvector e faʻalagolago i le fua, lavelave faʻatinoga, ma faʻalavelave faʻapipiʻi. O le su'esu'ega a SQLite Hamming o le filifiliga sa'o lea pe a sili ona taua le faigofie, feavea'i, ma le tau - o le tulaga lea mo le tele o talosaga faapisinisi.
O fa'amaumauga tu'ufa'atasiga fa'amaumauga e fa'ailoa mai ai le tele o galuega fa'atino: tu'ufa'atasi mea tetele, fa'aletonu feso'ota'iga, lavelave fa'atasi, ma tau tele i fua. Mo talosaga o lo'o tautuaina le fiasefulu afe i lalo ifo o le faitau miliona o fa'amaumauga, SQLite Hamming su'esu'ega e tu'uina atu fa'atusa fa'atatau e fa'atatau i tagata fa'aoga ma leai ni atina'e fa'aopoopo. E tu'u fa'atasi lau fa'ailoga su'esu'e ma au fa'amaumauga o talosaga, ma fa'ate'aina ai se vaega atoa o faiga fa'aletonu faiga.
Fesili e Fai soo
E sa'o lelei su'esu'ega a Hamming mo su'esu'ega gaosiga?
O le mamao o le sapalai i luga o fa'amaufa'atasi-fa'afuainumera fa'atauva'a fefa'ataua'iga se vaega la'ititi o le toe fa'afo'i sa'o mo le tele o le saoasaoa. I le fa'ata'ita'iga, e masani ona fa'atumauina le 90-95% o le fa'ata'ita'iga lelei ole su'esu'ega tutusa o le float32 cosine. Mo le tele o talosaga su'esu'e pisinisi - su'esu'e oloa, toe maua mai o pepa, fa'avae malamalama lagolago a tagata fa'atau - e talia atoatoa lenei fefa'ataua'iga, ma e le mafai e tagata fa'aoga ona iloa le eseesega i le lelei o taunuuga.
E mafai e SQLite ona fa'atautaia le faitau ma le tusitusi fa'atasi a'o su'esu'ega Hamming?
SQLite lagolagoina faitauga fa'atasi e ala i lana WAL (Write-Ahead Logging), fa'atagaina le tele o le aufaitau e fesili i le taimi e tasi e aunoa ma le poloka. Tusi fa'atasi e fa'atapula'aina - SQLite fa'asologa e tusitusi - ae e seasea ose fa'amaufa'ailoga mo galuega mamafa su'esu'e lea e seasea ona tusitusi e fa'atatau ile faitau. Mo su'esu'ega fa'asoso'o fa'atosina faitau, ole faiga ole WAL ole SQLite ua lava atoatoa.
E fa'afefea ona a'afia mana'oga o mea e teu ai fa'atusatusaga fa'atauva'a?
O le teuina o sefe e maoae. Ole fa'apipi'i 768-dimensional float32 e mana'omia le 3,072 paita (3 KB) ile fa'amaumauga. O le 128-bit binary hash o le faʻapipiʻi tutusa e manaʻomia naʻo le 16 paita - o se faʻaitiitiga 192x. Mo se fa'amaumauga o le 1 miliona fa'amaumauga, o lona uiga o le eseesega i le va o le 3 GB ma le 16 MB o le fa'apipi'iina o mea e teu ai, e mafai ai ona fa'atino su'esu'ega fa'avae Hamming i totonu o si'osi'omaga e fa'agata ai le manatua e le mafai ai ona fa'agata atoa le teuina o fa'a'amea.
O le fausiaina o oloa atamai ma su'esu'e, o le ituaiga tonu lea o agava'a e tu'u'ese'ese ai pisinisi fa'atupulaia mai pisinisi fa'aletonu. MewayzO le OS pisinisi uma-i-tasi e faʻatuatuaina e le sili atu i le 138,000 tagata faʻaoga, ofoina 207 faʻapipiʻi modules - mai le CRM ma auiliiliga i le puleaina o mataupu ma tua atu - amata i le $ 19 / masina. Taofi le su'iina o mea faigaluega motumotu ae amata fau i luga o se fa'avae ua fuafuaina mo fua.
Amata lau malaga i le Mewayz i le asō i le app.mewayz.com ma iloa le mea e mafai ona fai e se faiga fa'agaioiga pisinisi fa'atasi moni mo lau 'au.
Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 30,000+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
9 Mothers (YC P26) Is Hiring – Lead Robotics and More
Apr 7, 2026
Hacker News
NanoClaw's Architecture Is a Masterclass in Doing Less
Apr 7, 2026
Hacker News
Dropping Cloudflare for Bunny.net
Apr 7, 2026
Hacker News
The best tools for sending an email if you go silent
Apr 7, 2026
Hacker News
Hybrid Attention
Apr 7, 2026
Hacker News
"The new Copilot app for Windows 11 is really just Microsoft Edge"
Apr 7, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime