الانتقال إلى المحتوى الرئيسي
يستخدم ClickHouse أحد الإصدارات السابقة من CityHash من Google.
غيّر CityHash الخوارزمية بعد أن أضفناه إلى ClickHouse.وتنص وثائق CityHash صراحةً على أنه لا ينبغي للمستخدم الاعتماد على قيم hash محددة، ولا حفظها في أي مكان أو استخدامها كمفتاح للتقسيم.لكن بما أننا أتحنا هذه الدالة للمستخدم، كان علينا تثبيت إصدار CityHash (على 1.0.2). ولهذا نضمن الآن أن سلوك دوال CityHash المتاحة في SQL لن يتغير.— Alexey Milovidov
ملاحظةيختلف الإصدار الحالي من CityHash من Google عن متغير ClickHouse cityHash64.لا تستخدم farmHash64 للحصول على قيمة CityHash الخاصة بـ Google! FarmHash هو الإصدار اللاحق لـ CityHash، لكنهما غير متوافقين بالكامل.
StringClickHouse64CityHash64FarmHash64
Moscow1250790149629287863859927100784533574095992710078453357409
How can you write a big system without C++? -Paul Glick623794531165004562574929116295744250411716470977470720228
انظر أيضًا Introducing CityHash للاطلاع على الوصف والدوافع وراء تطويره. باختصار: إنها دالة تجزئة غير تشفيرية أسرع من MurmurHash، لكنها أكثر تعقيدًا.

تطبيقات التنفيذ

Go

يمكنك استخدام حزمة Go ‏go-faster/city التي تدعم كلا الخيارين.
آخر تعديل في ٢٩ يونيو ٢٠٢٦