Cách truy vấn và xử lý dữ liệu lớn trong Oracle(table khoảng 50M record)
chào mọi người.
<p>
</p>
<p>
Em có một module xử lý bất đồng bộ nhiều tập user(khoảng 2-3M user mỗi tập), mỗi tập user cần truy vấn(với các điều kiện khác nhau tùy vào tập user đó) trong bảng user(có khoảng 50M record). Nếu Mỗi lần xử lý một tập user bất kỳ thì em sẽ truy vấn cả tập user lên chương trình nhưng khi đó việc truy vấn rất chậm và tràn bộ nhớ chương trình nên em có định sẽ cache các id của các tập user đó vào redis theo từng batch và xử lý từng batch user id, để lấy được user cần xử lý thì em sẽ truy vấn theo id(vì id có index nên em nghĩ sẽ nhanh hơn) và không tràn bộ nhớ. Mn thấy cách này có ổn không và có cách nào nhanh hơn không ạ?
</p>
Synchronous Redis trong Spring boot
chào mn, em có sử dụng Redis trong project của mình. Hiện tại em có 2 module cần thao tác trên một tập thuê bao với tốc độ nhanh(vì nếu truy vấn dưới database thì rất chậm do dữ liệu nhiều).Em hướng sẽ cache hết tập thuê bao này trên Redis. em có 2 hướng:
<ol>
<li>chỉ cache id và sau đó sẽ truy vấn theo từng id(id có index nên em nghĩ sẽ nhanh)</li>
<li>cache cả toàn bộ thông tin nhưng như thế nếu thuê bao cập nhật thông tin thì trên cache sẽ phải đồng bộ như nào.</li>
</ol>
<ul>
<li>cả 2 đều phải lấy dữ liệu kiểu đồng bộ thì trong Java có thư viện nào hỗ trợ không ạ?</li>
<li>Nếu cache trên redis mà redis sập, dữ liệu bị mất đi thì phải làm sao ạ?</li>
<li>Mn còn ý tưởng nào hay thì góp ý giúp em với :D</li>
</ul>
Làm sao để chia đều dữ liệu trong 1 bảng user cho n instance của hệ thống
Hi mn, em có 1 hệ thống chạy nhiều instance của module UserService. các instance này sẽ lấy dữ liệu trong bảng user để xử lý. em muốn chạy 6 instance, với 6000 user. em sẽ chia đều cho mỗi instance 1000 user:
<p>
</p>
<p>
nếu 1 instance bị stop thì làm sao nó có thể chia lại các user cho các instance khác vậy anh? và dữ liệu các user đang xử lý được 1/2 rồi thì khi chia lại cho các instance khác thì nó vẫn tiếp tục xử lý tiếp chứ ko xử lý lại từ đầu vậy anh(chỗ này em tính dùng redis để cache lại được không anh, instance đấy stop thì dữ liệu trên redis vẫn còn)
</p>
<p>
</p>
<p>
nếu User được thêm vào thì dùng các nào để có thể chia đều cho các instance là tốt nhất anh. Em đang sử dụng Java Spring boot và Redis ạ
</p>
Hỏi về bài post Reddit count views
Hi a Dũng, e có đọc qua blog của Reddit (<a href="https://www.redditinc.com/blog/view-counting-at-reddit), " target="_blank">https://www.redditinc.com/blog/view-counting-at-reddit), </a> họ có nói là sử dụng Redis hyperloglog để count. Em muốn hỏi là tại sao họ k dùng redis incr để count, nếu mà dùng thì sẽ như thế nào. Vì redis là single thread nên nó sẽ tránh được race condition.
<p>
</p>
<p>
Em muốn hỏi thêm là bth những hệ thống count như này (stackaks) thì sẽ implement bằng cách nào ạ, chủ yếu là scale và tránh race condition.
</p>
<p>
</p>
<p>
Em cảm ơn ạ.
</p>
Có cần thiết lưu trữ cache dữ liệu trong mongodb ?
Em chào anh , em có 1 câu hỏi là ví dụ e cần vào mongo để lấy 1 dữ liệu , cụ thể e đang lưu trong mongo các session chat , mỗi lần chat e cần lấy session chat đấy ra để kiểm tra thông tin và lưu chat message theo session chat , thì việc mỗi lần chat đều phải chọc vào mongo , dẫn đến cần vào mongo khá nhiều , vậy e còn cần cache lên redis dữ liệu của session chat đấy ko ạ , e thấy mongo query cũng khá nhanh rồi ? Mong được anh trả lời?
Cách tối ưu hóa cache key trên redis
Em có 1 api gồm các param như idItem , idUser , page , size . Cho em hỏi nên lưu key trên redis như nào để tối ưu hóa số lương key , thường sẽ lưu key cache như nào nếu nhiều param ạ.
<p>
</p>
<p>
Em cảm ơn
</p>
Khác biệt giữa hazelcast và redis
Khác biệt giữa hazelcast và redis là gì?