e2al3qakmdd1okym
4 question(s)
0 answer(s)
Avatar
0
e2al3qakmdd1okym Beginner
Channing vs Open addressing HashTable
<div class="markdown-block">Em có tìm đọc được 1 tài liệu về HashTable ở link này, và có 1 vài thắc mắc. <a href="https://www.algolist.net/Data_structures/Hash_table/Open_addressing" class="markdown-link" target="_blank">https://www.algolist.net/Data_structures/Hash_table/Open_addressing</a>Khi dùng Channing HashTable, ta phải dùng 1 LinkedList gây overhead, khi dùng OpenAdressing thì cũng phải dùng 1 cấu trúc dữ liệu để lưu cặp key, value vẫn tăng heap size Open addressing (OA) còn gây nghẽn với "DELETE slot" buộc phải rehash lại table, vậy đâu là lí do để dùng OA hasing? Theo em biết thì Java cũng implement HashMap bằng chainning.</div>
Answer
Avatar
0
e2al3qakmdd1okym Beginner
Byte array fragment
<div class="markdown-block">Em đang có 1 byte array (Store) dùng để lưu Object đã được serialized, và 1 HashTable để lưu position cho object trong Store, giả sử khi xóa Object đi thì Store sẽ bị phân mảnh, em xin hỏi giải pháp cho trường hợp này.!byte_mem.pngMột vài cách em hiện đang suy nghĩ: Dùng 1 byte để đánh dấu vùng nhớ đó đã bị xóa, thêm position vào 1 HashSet (Tracker). Khi thêm mới 1 Object sẽ kiểm tra Tracker và tìm vị trí có space đủ để ghi vào, tuy nhiên độ dài Object có thể ít hơn nên space của vùng nhớ đó nên vẫn bị trống 1 phần Dịch tất cả các Object phía sau lên tương tự như ArrayList, tuy nhiên em lại không biết cách set lại position cho HashTable</div>
Answer
Avatar
0
e2al3qakmdd1okym Beginner
Một cách tối ưu để thực hiện delta-load trong ETL
<div class="markdown-block">Em đang tìm hiểu về delta-load trong ETL, em đang có 1 mô hình producer-consumer. Consumer sẽ thực hiện logic trên tất cả dữ liệu được publish bởi producer Producer sẽ thực hiện incremetal write cho tập dữ liệu nhận được. Vấn đề là producer sẽ đóng vai trò như 1 framework và tự động đánh giá nội dung để cho rằng 1 Object có bị thay đổi hay không.Em muốn hỏi là coó 1 cách tối ưu nhất để Producer tự extract những Object bị modified không? Giải pháp hiện tại của em là serialize Object sang byte và thực hiện hash trên byte array đó (giống như commit hash) để lưu trữ state Object đó, tuy nhiên em đang không biết 1 hàm hash hiệu quả cho việc này, xin nhờ mọi người giúp.</div>
Answer
Avatar
0
e2al3qakmdd1okym Beginner
Kryo serializer
<div class="markdown-block">Em mới tiếp cận việc dùng Kryo cho serializer Object to byte.Theo em biết thì Kryo cho phép config setRegistrationRequired() Nếu set true, khi dùng writeClassAndObject() Kryo sẽ thêm registrationId vào đầu bytes array để làm header Nếu false, Kryo sẽ tự thêm metadata của class đó.</div>
Answer