Khi một thao tác ghi được gửi tới tablet server, server sẽ kiểm tra định dạng của thao tác đó, sau đó người giử sẽ được cấp quyền để thực hiện các thay đổi. Sự ủy quyền sẽ được thực hiện thông qua việc đọc danh sách các bộ ghi được cho phép trong Chubby. Một sự thay đổi hợp lệ sẽ được ghi vào nhật ký xác nhận. Xác nhận nhóm sẽ được dùng để cải thiện hiệu xuất của rất nhiều các thay đổi nhỏ. Sau khi thao tác ghi đã được xác nhận, nội dung của nó sẽ được ghi vào memtable.
Khi có một thao tác đọc trên tablet server, nó cũng sẽ kiểm tra định dạng và sự ủy quyền đối với thao tác đó. Một thao tác đọc hợp lệ sẽ được thực hiện dưới dạng phối hợp giữa SSTable và Memtable. Do cấu trúc dữ liệu của SSTable và Memtable đều được sắp xếp theo từ điển nên dạng phối hợp được định dạng có hiệu quả.
3.3.4.4. Compactions:
Khi thao tác ghi được thực hiện, dung lượng của memtable sẽ tăng lên. Khi độ lớn của memtable đạt một ngưỡng nhất định, nó sẽ bị đóng băng, một memtable khác sẽ được tạo ra, và memtable bị đóng băng sẽ được chuyển vào một SSTable và ghi vào GFS. Một phương pháp nén nhẹ được dùng với 2 mục tiêu: giảm việc sử dụng bộ nhớ của tablet server và giảm lượng dữ liệu cho thao tác đọc từ nhật ký xác nhận trong quá trình phục hồi dữ liệu nếu server ngừng hoạt động.
Mọi thao tác nén nhẹ đều tạo ra một SSTable mới. Nếu các trạng thái này tiếp tục không được kiểm tra, thao tác đọc có thể sẽ phải kết hợp các cập nhật của một số lượng nhất định các SSTable. Thay vào đó, ta có thể giới hạn số lượng các file để thực hiện việc nén kết hợp. Nén kết hợp sẽ đọc nội dung của một vài SSTable và memtable, sau đó ghi ra một SSTable mới. SSTable và memtable được nén sẽ có thể được loại bỏ ngay sau khi thao tác nén hoàn thành.
Thao tác nén kết hợp thực hiện việc ghi tất cả các SSTable vào một SSTable duy nhất gọi là sự nén chính. Bigtable đi qua tất cả các tablet và đều đặn thực hiện nén chính đối với các tablet theo chu kỳ. Nén chính cho phép Bigtable lấy lại các tài nguyên đã từng được sử dụng bởi những dữ liệu đã bị xóa, và cũng cho phép nó đảm bảo rằng các dữ liệu đã bị xóa sẽ biến mất khỏi hệ thống đúng lúc. Điều này là rất quan trọng trong những dịch vụ lưu trữ những dữ liệu nhạy cảm
3.3.5. Một số ứng dụng thực tế sử dụng BigTable
3.3.5.1. Google Analytics:
Google Analytics (GA) là một ứng dụng phân tích web dành cho các nhà thiết kế web được sử dụng rộng rãi nhất hiện nay. Google Analytics có thể tạo ra lên đến 85 báo cáo khác nhau mà sẽ giúp bạn phân tích tất cả dữ liệu có thể về lưu lượng truy cập trang web. GA không chỉ cung cấp tính năng theo dõi khách truy cập vào trang web hoặc số lần xem trang, mà nó còn có thể được sử dụng để xem nội dung được ghé thăm nhiều nhất, thời gian trên trang web cho mỗi truy cập, nó theo dõi các màn trình diễn của các chiến dịch tiếp thị, bao gồm cả AdWords, Adsense – quảng cáo trực tuyến trên Google, email và nhiều thứ khác nữa. [12]
Google Analytics là một trong những giải pháp phân tích trang web mạnh mẽ nhất trên thị trường - và hoàn toàn miễn phí cho mọi đối tượng sử dụng. Phiên bản miễn phí này giới hạn 5 triệu lần truy cập trang mỗi tháng – tuy nhiên, người dùng có tài khoản Google AdWords đang hoạt động được cung cấp theo dõi số lần truy cập trang không giới hạn. [13]
Google Analytics được sử dụng bởi:
Nhân viên điều hành có thể tìm hiểu:
Những sáng kiến tiếp thị nào có hiệu quả nhất
Các dạng/xu hướng lưu lượng truy cập trang web chính xác
Khách hàng và phân đoạn khách hàng nào có giá trị nhất
Chuyên gia tiếp thị có thể tìm hiểu:
Khách truy cập đến từ đâu và họ làm gì trên trang web
Làm cách nào để trang web có thể chuyển đổi khách truy cập thành khách hàng nhiều hơn
Từ khóa nào cộng hưởng với khả năng thành công và dẫn đến các chuyển đổi
Nhà phát triển & nội dung có thể tìm hiểu:
Nơi mọi người rời khỏi trang web
Trang nào giữ khách truy cập lâu nhất
Mọi người sử dụng cụm từ tìm kiếm nào để tìm trang web
3.3.5.2. Google Earth:
Google có một dịch vụ cho phép người dùng truy cập vào những hình ảnh ở độ phân giải cao của bề mặt trái đất, qua giao diện web (http://maps.google.com/) hay theo phần mềm Google Earth (http://earth.google.com/). Phần mềm này cho phép người dùng thực hiện các thao tác pan, zoom, view, … trên bề mặt trái đất ở các độ phân giải khác nhau. Hệ thống này sử dụng 1 bảng để lưu dữ liệu tiền xử lý, và một tập hợp các bảng khác nhau phục vụ các máy trạm.
Việc tiền xử lý sử dụng một bảng để lưu các ảnh thô. Trong quá trình tiền xử lý, các hình ảnh được làm sạch (cleaned) và thống nhất thành dữ liệu cuối. Bảng này lưu trữ khoảng 70 Terabytes dữ liệu do đó được xử lý từ ổ đĩa. Các hình ảnh đã được nén sẵn, nên Bigtable không cần nén nữa.
Mỗi hàng trong bảng hình ảnh tương ứng với một vùng địa lý. Tên hàng được đặt sao cho các vùng địa lý liền kề nhau được lưu trữ gần nhau. Bảng còn có một họ các cột chứa các nguồn dữ liệu của từng vùng địa lý. Họ các cột này gồm rất nhiều cột: cơ bản mỗi cột là một dữ liệu ảnh thô. Bởi mỗi vùng chỉ được dựng lên từ vài bức ảnh, nên họ cột này khá thưa thớt.
3.2.6. Đánh giá hiệu năng sử dụng
Ta thiết lập một cụm Bigtable với N máy chủ tablet đểđo hiệu năng và khả năng mở rộng của Bigtable với N thay đổi. Các máy chủ tablet được cấu hình sử dụng 1Gb bộ nhớ và write vào một ô GFS (Google File System) bao gồm 1786 máy với 400 Gb IDE ổ cứng cho mỗi máy. N máy trạm nạp Bigtable sử dụng cho các test này.