Hamming mama'o ki he fekumi fakatahataha 'i he SQLite .
Hamming mama'o ki he fekumi fakatahataha 'i he SQLite . Ko e fekumi ko 'eni 'oku delves ki he hamming, 'o sivisivi'i hono mahu'inga mo e uesia 'e lava ke hoko. Ngaahi Fakakaukau Tefito 'oku 'Ufi'ufi 'Oku fakatotolo'i 'e he kakano ko 'eni: Ngaahi tefito'i mo'oni mo e ngaahi teolosia tefito . Fakahoko...
Mewayz Team
Editorial Team
Ko e mama'o 'o e Hamming ko ha metric fakava'e 'o e faitatau 'oku ne lau 'a e ngaahi konga kehekehe 'i he vaha'a 'o e ongo aho binary, 'o ne 'ai ia ko e taha 'o e ngaahi founga vave taha mo lelei taha ki he fekumi fakafuofua ofi taha-kaunga'api 'i he ngaahi fakamatala. 'I hono faka'aonga'i ki he SQLite 'o fakafou 'i he ngaahi 'atakai 'o e kumi hybrid, 'Oku fakaava 'e he mama'o 'o e Hamming 'a e ngaahi malava 'o e kumi faka'uhinga 'o e kalasi 'o e kautaha 'o 'ikai ha 'olunga 'o e ngaahi fakamatala vector fakatapui.
Ko e hā ʻa e Hamming Distance pea ko e hā ʻoku mahuʻinga ai ki he Fekumi ʻi he Database?
Ko e mama'o 'o e Hamming 'oku ne fua 'a e lahi 'o e ngaahi tu'unga 'oku kehekehe ai 'a e ongo afo binary 'o e loloa tatau. Hange ko 'eni, 'Oku 'i ai ha mama'o 'o e Hamming 'o e 2 'a e ngaahi aho 'o e ua 10101100 mo e 10001101, koe'uhi he 'oku nau kehekehe 'i he tu'unga 'o e bit 'e ua tonu. 'I he ngaahi tu'unga 'o e fekumi 'i he database, 'oku hoko 'a e fakafuofua ngali faingofua ko 'eni 'o malohi makehe.
Ko e fekumi tukufakaholo SQL 'oku fakafalala ia ki he fakafehoanaki totonu pe indexing 'o e tohi kakato, 'a ia 'oku fefa'uhi mo e faitatau faka'uhinga — kumi 'a e ngaahi ola 'oku 'uhinga ki he me'a tatau kae 'ikai ko hono vahevahe 'o e ngaahi lea mahu'inga tatau. Hamming mama'o 'oku ne fakalelei'i 'a e ava ko 'eni 'aki 'ene ngaue 'i he ngaahi code hash binary 'oku ma'u mei he ngaahi fakahu 'o e kakano, 'o faka'ata 'a e ngaahi fakamatala hange ko e SQLite ke fakafehoanaki 'a e ngaahi lekooti 'e laui miliona 'i he milliseconds 'o faka'aonga'i 'a e ngaahi ngaue XOR bitwise.
Na'e fakafe'iloaki 'a e metric 'e Richard Hamming 'i he 1950 'i he tu'unga 'o e ngaahi kouti fakatonutonu hala. Hili ha ngaahi hongofulu‘i ta‘u mei ai, na‘e hoko ia ko e tefito‘i me‘a ki hono kumi ‘o e fakamatalá, tautefito ‘i he ngaahi sisitemi ‘a ia ‘oku mahu‘inga ange ai ‘a e vave ‘i he tonu haohaoá. Ko hono O(1) fakafuofua'i 'i he fakafehoanaki ('o faka'aonga'i 'a e ngaahi fakahinohino 'o e CPU popcount) 'oku ne 'ai ke makehe 'a e fe'unga mo e ngaahi misini 'o e fakamatala 'oku fakahu mo ma'ama'a.
'Oku anga fefe hono fakataha'i 'e he fekumi Hybrid 'a e mama'o 'o e Hamming mo e ngaahi fehu'i SQLite tukufakaholo?
Hybrid fekumi 'i he SQLite 'oku ne fakataha'i 'a e ongo founga fakafetongi 'o e kumi: fekumi ki he lea mahu'inga sparse ('o faka'aonga'i 'a e SQLite 'a e langa-'i he FTS5 fakalahi 'o e fekumi kakato) mo e fekumi 'o e faitatau dense (faka'aonga'i 'a e mama'o 'o e Hamming 'i he ngaahi fakahu quantized 'o e binary). 'Oku 'ikai fe'unga 'a e ongo founga ko 'eni pe ki he ngaahi fie ma'u kumi fakaonopooni.
Ko e paipa kumi hybrid angamaheni 'oku ngaue 'o hange ko 'eni:
- To'utangata fakahu: 'Oku liliu 'a e tohi pe lekooti takitaha ki ha vekiume 'oku 'alu holo 'a e ngaahi tafa'aki ma'olunga 'o faka'aonga'i ha sipinga 'o e lea pe ngaue fakakouti.
- Ko e fakafuofua 'o e ua: 'Oku fakafefeka'i 'a e vector 'o e float ki ha hash 'o e ua 'o e compact (e.g., 64 pe 128 'o e ngaahi konga) 'o faka'aonga'i 'a e ngaahi founga hange ko e SimHash pe fakafuofua fakatu'upakee, 'o fakasi'isi'i lahi 'a e ngaahi fie ma'u 'o e tanaki'anga.
- Tauhi'anga 'o e fakahokohoko 'o e Hamming: 'Oku tauhi 'a e hash 'o e binary ko ha kolomu INTEGER pe BLOB 'i he SQLite, 'o faka'ata 'a e ngaahi ngaue vave 'o e bitwise 'i he taimi 'o e fehu'i.
- Fehu'i-taimi 'o e maaka: 'I he taimi 'oku fakahu ai 'e ha tokotaha ngaue ha fehu'i, 'Oku fakafuofua'i 'e he SQLite 'a e mama'o 'o e Hamming 'o fakafou 'i ha ngaue scalar angamaheni 'o faka'aonga'i 'a e XOR mo e popcount, 'o fakafoki mai 'a e kau kanititeiti 'oku fakahokohoko 'e he bit faitatau.
- Fusion 'o e maaka: Ko e ngaahi ola mei he fekumi faka'uhinga 'oku makatu'unga 'i he Hamming mo e fekumi 'o e lea mahu'inga 'o e FTS5 'oku fakataha'i 'o faka'aonga'i 'a e Reciprocal Rank Fusion (RRF) pe ko e maaka 'oku fakamamafa'i ke fa'u ha lisi fakahokohoko faka'osi.
Ko e fakalahi 'o e SQLite 'o fakafou 'i he ngaahi fakalahi 'oku lava ke uta pe ngaahi ngaue 'oku fakatahataha'i 'oku ne 'ai 'a e 'atakai ko 'eni ke a'usia 'o 'ikai ke hiki ki ha sisitemi fakamatala mamafa ange. Ko e ola ko ha misini kumi 'oku 'i ai 'a e tokotaha 'oku lele 'i ha feitu'u pe 'oku lele ai 'a e SQLite — kau ai 'a e ngaahi me'angaue 'oku fakahu, ngaahi polokalama fe'ave'aki pa'anga, mo e ngaahi deployments 'o e tafa'aki.
'Ilo mahu'inga: Ko e fekumi 'a e Hamming 'o e ua 'i he hashes 'o e 64-si'isi'i 'oku fakafuofua ki he 30-50x vave ange ia 'i he faitatau 'o e cosine 'i he ngaahi vectors float32 kakato 'o e dimensionality tatau. Ki he ngaahi polokalama 'oku fie ma'u 'a e latency kumi 'o e sub-10ms 'i he ngaahi lekooti 'e laui miliona 'o 'ikai ha ngaahi naunau makehe, Hamming mama'o 'i he SQLite 'oku fa'a hoko ia ko e fefakatau'aki 'enisinia lelei taha 'i he vaha'a 'o e tonu mo e fakahoko.
Ko e hā ʻa e ngaahi ʻulungaanga fakahoko ʻo e fekumi ʻa e Hamming ʻi he SQLite?
Ko e SQLite ko ha faile 'e taha, serverless 'a e fakamatala, 'a ia 'oku ne fakatupu 'a e ngaahi fakangatangata makehe mo e ngaahi faingamalie ki hono fakahoko 'o e fekumi mama'o 'a e Hamming. 'I he 'ikai ha ngaahi fokotu'utu'u indexing vector fakafonua hange ko e HNSW pe IVF ('oku ma'u 'i he ngaahi falekoloa vector fakatapui), 'Oku fakafalala 'a e SQLite ki he linear scan ki he fekumi 'a e Hamming — ka 'oku si'isi'i ange 'eni 'i he fakangatangata 'i he ongo.
Ko ha fika'i 'o e mama'o 'o e Hamming 64-si'isi'i 'oku fie ma'u pe ha XOR pea muimui 'i ha popcount (lau 'o e tokolahi, lau 'o e ngaahi konga 'o e seti). 'Oku fakahoko 'eni 'e he ngaahi CPU fakaonopooni 'i ha fakahinohino 'e taha. Ko ha sikani fakalaine kakato 'o e 1 miliona 64-si'isi'i hashes 'oku fakakakato 'i he fakafuofua ki he 5–20 milliseconds 'i he ngaahi naunau koloa, 'o 'ai 'a e SQLite ke 'aonga ki he ngaahi datasets 'o a'u ki ha ngaahi lekooti 'e laui miliona 'o 'ikai ha toe ngaahi founga indexing.
💡 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 →Ki he ngaahi datasets lalahi ange, 'oku ha'u 'a e ngaahi fakalelei'i 'o e fakahoko ngaue mei he kanititeiti kimu'a 'i he filtering: 'o faka'aonga'i 'a e ngaahi kupu'i lea 'o e SQLite 'a e WHERE ke fakangata 'a e ngaahi laine 'e he metadata (ngaahi 'aho, ngaahi vahevahe, ngaahi konga 'o e tokotaha faka'aonga'i) kimu'a pea toki faka'aonga'i 'a e mama'o 'o e Hamming, fakasi'isi'i 'a e lahi 'o e scan 'aonga 'e he ngaahi tu'utu'uni 'o e lahi. Ko e feitu'u 'eni 'oku ulo mo'oni ai 'a e ngaahi 'atakai fekumi hybrid — 'oku ngaue 'a e sparse keyword filter ko ha pre-filter vave, pea 'oku toe fakahokohoko 'e he mama'o 'o e Hamming 'a e kau kanititeiti 'oku kei mo'ui.
'Oku anga fefe ho'o fakahoko ha ngaue 'o e mama'o 'o e Hamming 'i he SQLite?
'Oku 'ikai ke kau ai 'a e SQLite ha ngaue mama'o 'o e Hamming fakafonua, ka ko 'ene C fakalahi API 'oku ne 'ai ke hangatonu 'a e ngaahi ngaue scalar angamaheni ke lesisita. 'I he Python 'o faka'aonga'i 'a e sqlite3 module, 'e lava ke ke lesisita ha ngaue 'oku ne fakafuofua'i 'a e mama'o 'o e Hamming 'i he vaha'a 'o e ongo fika kakato:
'Oku tali 'e he ngaue 'a e ongo fakakikihi 'o e integer 'oku ne fakafofonga'i 'a e hashes binary, 'oku ne fakafuofua'i 'enau XOR, pea lau 'a e ngaahi konga seti 'o faka'aonga'i 'a e Python 'a e bin().lau('1') pe ko ha founga vave ange 'o e manipulation 'o e konga. Ko e taimi pe 'oku lesisita ai, 'Oku hoko 'a e ngaue ko 'eni 'o ma'u 'i he ngaahi fehu'i SQL 'o hange pe ko ha ngaue 'oku langa 'i loto, 'o faka'ata 'a e ngaahi fehu'i hange ko hono fili 'o e ngaahi laine 'oku to ai 'a e mama'o 'o e Hamming ki ha hash fehu'i 'i lalo 'i ha threshold, 'oku fakahokohoko 'e he mama'o 'oku hake ke ma'u 'a e ngaahi fe'unga ofi taha 'uluaki.
Ki he ngaahi deployments 'o e ngaohi'anga koloa, 'oku fakatahataha'i 'a e popcount logic ko ha fakalahi C 'o faka'aonga'i 'a e SQLite 'a e sqlite3_fakatupu_ngaue API 'oku ne 'omi 'a e 10–100x lelei ange 'a e fakahoko 'i he faka'uhinga'i 'o e Python, 'omi 'a e fekumi 'a e Hamming 'a e SQLite 'i he lotolotonga 'o e a'u atu ki he work.
Ko e fē taimi ʻoku totonu ke fili ai ʻe he ngaahi pisinisí ʻa e SQLite Hamming Fekumi ʻi he Ngaahi Fakamatala Vector Fakatapui?
Ko e fili 'i he vaha'a 'o e SQLite-fakava'e 'i he fekumi 'a e Hamming mo e ngaahi fakamatala vector fakatapui hange ko e Pinecone, Weaviate, pe pgvector 'oku fakafalala ia 'i he fua, faingata'a 'o e ngaue, mo e ngaahi fakangatangata 'o e deployment. Ko e fekumi SQLite Hamming ko e fili totonu ia 'i he taimi 'oku mahu'inga taha ai 'a e faingofua, portability, mo e fakamole — 'a ia ko e me'a ia 'oku hoko ki he konga lahi 'o e ngaahi polokalama pisinisi.
'Oku fakafe'iloaki 'e he ngaahi fakamatala vector fakatapui 'a e ngaahi me'a mahu'inga 'o e ngaue: ngaahi langa fakalakalaka kehekehe, latency 'o e netiueka, synchronization faingata'a, mo e fakamole lahi 'i he fua. Ki he ngaahi polokalama 'oku nau ngaue 'i he ngaahi lekooti 'e hongofulu afe ki he ma'ulalo 'o e laui miliona, SQLite Hamming fekumi 'oku ne 'omi 'a e fekau'aki fakafehoanaki 'o e tokotaha faka'aonga'i-fehangahangai mo e zero ha ngaahi langa fakalakalaka 'oku tanaki atu. 'Oku ne co-locates ho'o index fekumi mo ho'o fakamatala 'o e tohi kole, 'o fakangata ha fa'ahinga kakato 'o e ngaahi founga 'o e ta'elavame'a 'o e ngaahi sisitemi tufaki.
Ngaahi Fehuʻi ʻoku Faʻa ʻEke
'Oku tonu fe'unga nai 'a e kumi mama'o 'a Hamming ki he ngaahi polokalama kumi ngaohi?
Hamming mama'o 'i he ngaahi fakahu 'o e binary-quantized fefakatau'aki ha ki'i konga si'i 'o e fakamanatu 'o e tonu ki he ngaahi ma'u'anga tokoni vave lahi. 'I he ngaue, 'oku angamaheni 'aki hono tauhi 'e he quantization 'o e binary 'a e 90-95% 'o e tu'unga lelei 'o e manatu 'o e fekumi 'o e float32 cosine faitatau kakato. Ki he lahi taha 'o e ngaahi polokalama kumi pisinisi — ma'u 'o e koloa, kumi 'o e tohi, ngaahi makatu'unga 'o e poupou 'a e kasitomaa — 'oku tali kakato 'a e fefakatau'aki ko 'eni, pea 'oku 'ikai lava 'e he kau faka'aonga'i 'o 'ilo'i 'a e faikehekehe 'i he tu'unga lelei 'o e ola.
'E lava ke tokanga'i 'e he SQLite 'a e lau mo e tohi fakataha lolotonga 'a e ngaahi fehu'i kumi 'a Hamming?
'Oku poupou'i 'e he SQLite 'a e ngaahi lau fakataha 'o fakafou 'i hono founga WAL (Write-Ahead Logging), 'o faka'ata 'a e kau lau tohi tokolahi ke nau fehu'i 'i he taimi tatau 'o 'ikai ha poloka. 'Oku fakangatangata 'a e tohi concurrency — SQLite serializes tohi — ka 'oku 'ikai ke fa'a hoko 'eni ko ha bottleneck ki he ngaahi ngaue fekumi-mamafa 'a ia 'oku 'ikai ke fa'a hoko ai 'a e tohi 'o fakatatau ki he lau. Ki he ngaahi polokalama kumi hybrid lau-lahi, 'Oku fe'unga kakato 'a e founga WAL 'a e SQLite.
'Oku anga fefe 'a e uesia 'e he quantization 'o e binary 'a e ngaahi fie ma'u 'o e tanaki'anga 'i hono fakafehoanaki ki he ngaahi vectors 'o e float?
Ko e ngaahi tanaki pa'anga 'oku fakaofo. Ko ha fakahu angamaheni 'o e 768-dimensional float32 'oku fie ma'u 'a e 3,072 bytes (3 KB) ki he lekooti. Ko ha hash binary 128-si'isi'i 'o e fakahu tatau 'oku fie ma'u 'a e 16 bytes pe — ko ha fakasi'isi'i 'o e 192x. Ki ha dataset 'o e lekooti 'e 1 miliona, 'Oku 'uhinga 'eni ki he faikehekehe 'i he vaha'a 'o e 3 GB mo e 16 MB 'o e tanaki'anga 'o e embedding, 'o 'ai ke malava 'a e fekumi 'oku makatu'unga 'i he Hamming 'i he ngaahi 'atakai 'oku fakangatangata 'a e manatu 'a ia 'e 'ikai ke 'aonga ai 'a e tanaki'anga 'o e float kakato.
Ko hono langa hake 'o e ngaahi koloa 'atamai'ia, 'oku lava ke kumi ko e fa'ahinga malava tonu ia 'oku ne fakamavahe'i 'a e ngaahi pisinisi 'oku tupulaki mei he ngaahi pisinisi 'oku tu'u ta'e ngaue. Mewayz ko e OS pisinisi kotoa pe 'i he taha 'oku falala ki ai 'a e kau faka'aonga'i 'o e 138,000, 'o 'oatu 'a e 207 modules fakataha'i — mei he CRM mo e analytics ki he pule'i 'o e kakano mo e hili ange — kamata 'i he $19/mahina pe. Ta'ofi hono tuitui fakataha 'o e ngaahi me'angaue kuo motuhi pea kamata langa 'i ha tu'unga kuo fa'u ki he me'afua.
Kamata ho'o fononga Mewayz he 'aho ni 'i he app.mewayz.com pea a'usia 'a e me'a 'e lava ke fai 'e ha sisitemi ngaue pisinisi 'oku fakatahataha'i mo'oni ma'a ho'o timi. 'Oku tonu fe'unga 'a e fekumi mama'o 'a Hamming ki he fekumi ki he ngaohi'anga koloa Hamming mama'o 'i he ngaahi fakahu 'o e binary-quantized 'oku ne fefakatau'aki ha ki'i konga si'i 'o e fakamanatu 'o e tonu ki he ngaahi ma'u'anga tokoni lahi 'o e se.' Ki he lahi taha 'o e ngaahi polokalama kumi pisinisi \u2014 ma'u 'o e koloa, kumi 'o e tohi, ngaahi makatu'unga 'ilo 'o e poupou 'a e kasitomaa \u2014 'oku tali kakato 'a e fefakatau'aki ko 'eni, pea "}},{"@fa'ahinga":"Fehu'i","hingoa":"'E lava ke tokanga'i 'e he SQLite 'a e lau mo e tohi fakataha 'a e Hammingarch lolotonga 'a e . fehu'i?","talitali":{"@fa'ahinga":"Tali","tohi":"'Oku poupou'i 'e he SQLite 'a e ngaahi lau fakataha 'o fakafou 'i hono founga WAL (Tohi-Ki mu'a 'a e Logging), 'o faka'ata 'a e kau lau tohi tokolahi ke nau fehu'i 'i he taimi tatau 'o 'ikai ke ta'ofi 'a e tohi fakataha 'oku fakangatangata 'a e ra SQLs2014 this. bottleneck ki he ngaahi kavenga ngaue fekumi-mamafa 'a ia 'oku 'ikai ke fa'a hoko ai 'a e ngaahi tohi 'o fakatatau ki he lau ki he ngaahi polokalama fekumi hybrid lau-lahi, 'Oku fe'unga kakato 'a e founga 'o e WAL 'a e SQLite"}},{"@fa'ahinga":"Fehu'i","hingoa":"'Oku uesia fēfē 'e he ngaahi fie ma'u 'o e binary quantization ki he stora. vectors?","taliTali":{"@fa'ahinga":"Tali","tohi":"'Oku fakaofo 'a e ngaahi fakahaofi 'o e tanaki'anga. 192x fakasi'isi'i Ki ha dataset 'o e lekooti 'e 1 miliona, 'Oku 'uhinga 'eni ki he faikehekehe 'i he vaha'a 'o e 3 GB mo e 16 MB 'o e tanaki'anga 'o e embedding, 'o 'ai ke malava 'a e fekumi 'oku makatu'unga 'i he Hamming 'i he ngaahi 'atakai 'oku fakangatangata 'a e manatu 'a ia 'oku kakato ai 'a e flo"}}]}.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
"The new Copilot app for Windows 11 is really just Microsoft Edge"
Apr 7, 2026
Hacker News
Show HN: A cartographer's attempt to realistically map Tolkien's world
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