- 921. Thêm tối thiểu để làm cho dấu ngoặc đơn hợp lệ Thêm tối thiểu để làm cho dấu ngoặc đơn hợp lệ
- 915. Phân vùng mảng thành các khoảng rời rạc
- 932. Mảng đẹp Mảng đẹp
- 940. Dãy số riêng biệt II Dãy số khác nhau II
Giả sử HBase được dùng để lưu trữ thông tin khách hàng và đơn hàng. Có hai loại bản ghi cốt lõi được nhập: loại bản ghi khách hàng và loại bản ghi đơn hàng.
Loại bản ghi Khách hàng sẽ chứa mọi thứ bạn thường mong đợi:
Loại bản ghi đơn hàng sẽ chứa các thông tin sau:
Giả sử rằng sự kết hợp giữa mã số khách hàng và đơn đặt hàng xác định duy nhất một đơn hàng, đối với bảng đơn hàng (ORDER), hai thuộc tính này sẽ tạo thành một khóa hàng, cụ thể là khóa tổng hợp, ví dụ:
[mã khách hàng][mã đơn hàng]
Tuy nhiên, cần có nhiều quyết định thiết kế hơn: Giá trị thô có phải là lựa chọn tốt nhất cho khóa hàng không?
Các vấn đề thiết kế tương tự trong trường hợp sử dụng LogData mà chúng ta gặp phải ở đây. Không gian khóa cho số khách hàng là gì và định dạng (ví dụ: số hoặc chữ và số?) Vì việc sử dụng các khóa có độ dài cố định trong HBase là thuận lợi và để hỗ trợ phân phối khóa hợp lý trong không gian khóa, nên các tùy chọn như thế này sẽ xuất hiện:
Rowkey tổng hợp có hàm băm:
Kết hợp số tổng hợp/băm Rowkey:
Phương pháp thiết kế truyền thống sẽ có các bảng KHÁCH HÀNG và BÁN HÀNG riêng biệt. Một tùy chọn khác là đóng gói nhiều loại bản ghi vào một bảng duy nhất (ví dụ: KHÁCH HÀNG++).
Loại bản ghi khách hàng Rowkey:
Loại bản ghi thứ tự Rowkey:
Ưu điểm của cách tiếp cận KHÁCH HÀNG++ cụ thể này là nhiều loại bản ghi khác nhau có thể được sắp xếp theo ID khách hàng (ví dụ: một lần quét có thể lấy được tất cả thông tin về khách hàng đó). Nhược điểm là việc quét các loại bản ghi cụ thể không dễ dàng.
Bây giờ chúng ta cần tìm ra cách mô hình hóa đối tượng Order. Giả sử cấu trúc lớp như sau:
Đặt hàng
Đơn hàng có thể có nhiều Địa điểm vận chuyển
Mục hàng
Một ShippingLocation có thể có nhiều LineItems
Có một số tùy chọn để lưu trữ dữ liệu này.
Với cách tiếp cận này sẽ có các bảng riêng biệt cho ORDER, SHIPPING_LOCATION và LINE_ITEM.
Khóa hàng của bảng ĐẶT HÀNG được mô tả ở trên: lược đồ.casestudies.custorder
Khóa hàng tổng hợp cho SHIPPING_LOCATION trông như thế này:
Khóa hàng tổng hợp cho bảng LINE_ITEM sẽ trông như thế này:
Một mô hình tiêu chuẩn hóa như vậy có thể là cách tiếp cận RDBMS, nhưng nó không phải là lựa chọn duy nhất cho HBase. Nhược điểm của phương pháp này là để lấy thông tin cho bất kỳ đơn hàng nào, bạn cần phải:
Dù sao thì đây cũng là điều mà RDBMS sẽ thực hiện, nhưng vì nó không có trong HBase nên bạn chỉ biết rõ hơn về nó.
Với cách tiếp cận này, sẽ có một ĐẶT HÀNG chứa một bảng duy nhất
Đặt hàng khóa như trên: lược đồ.casestudies.custorder
Khóa hàng tổng hợp ShippingLocation sẽ trông như thế này:
Khóa hàng tổng hợp LineItem sẽ trông như thế này:
Một biến thể trên một bảng duy nhất có các loại bản ghi là không chuẩn hóa và làm phẳng một số hệ thống phân cấp đối tượng, chẳng hạn như thu gọn thuộc tính ShippingLocation vào mỗi phiên bản LineItem.
Khóa hàng tổng hợp LineItem sẽ trông như thế này:
Cột LineItem sẽ trông như thế này:
Ưu điểm của phương pháp này bao gồm hệ thống phân cấp đối tượng ít phức tạp hơn, nhưng một nhược điểm là việc cập nhật sẽ trở nên phức tạp hơn nếu thông tin này thay đổi.
Bằng cách này, toàn bộ biểu đồ đối tượng Order được xử lý bằng cách nào đó dưới dạng BLOB. Ví dụ: khóa hàng cho bảng ORDER được mô tả ở trên: lược đồ.casestudies.custorder và một cột có tên "order" sẽ chứa một đối tượng có thể giải tuần tự hóa chứa Đơn hàng container, ShippingLocations và LineItems.
Có nhiều tùy chọn ở đây: JSON, XML, Java Serialization, Avro, Hadoop Writable và nhiều tùy chọn khác. Tất cả đều là các biến thể của cùng một cách tiếp cận: mã hóa biểu đồ đối tượng thành một mảng byte. Cần thận trọng với cách tiếp cận này để đảm bảo khả năng tương thích ngược khi mô hình đối tượng thay đổi, để các cấu trúc cố định cũ vẫn có thể được đọc từ HBase.
Ưu điểm là khả năng quản lý các biểu đồ đối tượng phức tạp với I/O tối thiểu (ví dụ: trong trường hợp này có Đơn hàng cho mỗi HBase Get), nhưng nhược điểm bao gồm khả năng tương thích ngược đã nói ở trên với tuần tự hóa, ngôn ngữ tuần tự hóa Phụ thuộc (ví dụ Java quá trình tuần tự hóa chỉ hoạt động trên máy khách Java), thực tế là bạn phải giải tuần tự hóa toàn bộ đối tượng để lấy bất kỳ thông tin nào trong BLOB và khó khăn với các khung công tác như Hive khi làm việc với các đối tượng tùy chỉnh như thế này.
Tôi có một bảng gọi là đặt vé máy bay. Bảng bao gồm các trường bao gồm trạng thái được gắn nhãn "R" hoặc "C", Đã đặt trước và Đã hủy. Điều tôi đang cố gắng tìm hiểu là các bản ghi có trạng thái "C" được phép xóa, nhưng nếu hàng tiếp theo có trạng thái "R" thì không nên xóa. [ed.
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Cập nhật câu hỏi để việc chỉnh sửa bài đăng này có thể trả lời nó bằng các sự kiện và trích dẫn. Đã đóng 1 năm trước. Cải thiện điều này
Học PHP/Gearman. Tôi đang cố gắng hiểu cách máy chủ/quy trình Gearman xác định những gì cấu thành ứng dụng khách "hợp lệ". Trong tài liệu tôi đã xem, nó hiển thị một số máy khách đang kết nối với máy chủ Gearman. Tuy nhiên, tôi không tìm thấy bất kỳ mô tả nào
Trường hợp HBase: Khách hàng/Đơn hàng Giả sử rằng HBase được sử dụng để lưu trữ thông tin khách hàng và đơn hàng. Có hai loại bản ghi cốt lõi được nhập: loại bản ghi khách hàng và loại bản ghi đơn hàng. Loại bản ghi khách hàng sẽ chứa mọi thứ bạn thường mong đợi: mã số khách hàng tên khách hàng
Khi xảy ra sự cố trong khi chạy một công thức và ứng dụng khách bị treo giữa chừng, ứng dụng khách Chef đã cài đặt sẽ không thể sử dụng được. Sau đó, bạn có thể thoát khỏi máy, khởi động lại, xóa tệp Chef pid, v.v., nhưng mỗi khi bạn khởi động ứng dụng khách Chef, thông báo sau sẽ xuất hiện: C
Tôi đang phát triển một trò chơi bằng Java và cho đến nay nó vẫn hoạt động tốt. Tôi muốn triển khai nhiều người chơi càng sớm càng tốt, vì vậy tôi đã xây dựng dựa trên đó thay vì chuyển toàn bộ trò chơi sang chế độ nhiều người chơi với vô số tính năng khác nhau. Tôi muốn biến nó thành một ứng dụng máy khách/máy chủ. Bây giờ tôi chắc chắn
Tôi đang cố gắng sửa đổi dữ liệu khách hàng hiện có trên magento theo chương trình nhưng tôi gặp lỗi và hy vọng ai đó có thể giúp tôi. require_once('../app/Mage.php'); ini_set("error_repor
Tôi đang học JQuery. Tôi cần tạo một điều khiển tùy chỉnh. Điều khiển này về cơ bản sẽ hiển thị một số HTML. Đôi khi, tôi chỉ muốn lấy HTML. Tôi muốn sử dụng cú pháp sau: // Đặt html được tạo vào bên trong
Tôi đang cố gắng sửa đổi dữ liệu khách hàng hiện có trên magento theo chương trình nhưng tôi gặp lỗi và hy vọng ai đó có thể giúp tôi. require_once('../app/Mage.php'); ini_set("error_repor
Tôi muốn chọn một hàng của bảng và chèn nó vào một bảng hiện có khác. (Tôi đang sử dụng PHP và MySql. Ngoại trừ id và timestamp, các cột khác của hai bảng đều giống nhau) Tôi đã thử làm một chiếc xe đẩy. Tôi muốn khi ai đó thanh toán, hãy chọn khách hàng đó từ "carret"
Tôi muốn triển khai kiến trúc máy khách-máy chủ bằng JXTA. Cấu hình phần server cũng sẽ là bậc 3. Có ai biết một nơi tốt để bắt đầu dự án này? Cảm ơn trước. Câu trả lời hay nhất JXTA xử lý các kết nối p2p. Điều này trái ngược với cách tiếp cận client-server. Theo như tôi biết
Tôi cần tạo một khách hàng Stripe và đăng ký gói cho họ. Tôi đã xem Stripe.js và có vẻ như mặc dù bạn có thể nhận được mã thông báo nhưng nó không cung cấp bất kỳ thứ gì khác ngoài điều đó. Có thư viện dành cho Node và PHP nhưng tại sao lại không có thư viện cho J?
Tôi có một yêu cầu thiết kế cơ sở dữ liệu ngày càng phức tạp và tôi cần tìm ra cách tốt nhất để xử lý nó. Hiện tại, tôi có "Danh bạ" và tôi có "Công ty". Một công ty có thể có nhiều địa chỉ liên hệ nhưng một địa chỉ liên hệ chỉ có thể thuộc về một công ty. Điều này tạo ra mối quan hệ 1:n rõ ràng. Tuy nhiên, Liên Hiệp
http://ecc.galengrover.com/programs/facility-rentals/ Trên trang đó và chỉ trang đó tôi gặp một vấn đề kỳ lạ. Phía trên hộp nội dung xuất hiện dòng chữ "Tất cả các khu vực" bên cạnh dòng chữ khác
Vì vậy, tôi đã làm cho trình tải trước CSS này hoạt động. Tuy nhiên, tôi gặp một số khó khăn khi thêm nó vào trang web của mình. Ai đó có thể giúp tôi hiểu cách triển khai mã để cho phép trình tải trước trở thành thành phần đầu tiên được xem trước khi tải trang web. Lúc này trình tải trước sẽ mờ dần. Mã tải trước như sau
Hãy xem xét tình huống sau: Có một dịch vụ Windows lưu trữ dịch vụ WCF. Dịch vụ WCF cung cấp giao diện giữa máy khách và máy chủ AppFabric nằm trên các máy vật lý khác nhau. Nó lấy đối tượng, thực hiện các phép tính trên đó
Vấn đề này lần đầu tiên được nhận ra khi trang lịch sử đơn hàng phía trước (*/sale/order/history/) chỉ hiển thị một thông báo ngắn: Bạn chưa đặt hàng. Sau khi gỡ lỗi, tôi thấy rằng vấn đề nằm ở chức năng này: Mage::getSingle
Công ty của tôi là nơi phát triển tùy chỉnh cho một số dự án, một số dự án lớn hơn, một số nhỏ hơn. Chúng tôi hiện đang xử lý tất cả các thông tin liên lạc của khách hàng qua email. Vì vậy, chúng tôi gửi tài liệu thiết kế qua email, họ đánh dấu và gửi lại. Sau đó, chúng tôi tung ra phiên bản beta cho sản phẩm của họ và họ đã gửi email
Tôi có một tiện ích Xem như sau: public class RemoteNumView mở rộng FrameLayout { Làm cách nào để gọi Roboguice như trong RoboActivity? như sau
Tôi có một bảng MySQL chứa mã số khách hàng, tên khách hàng và mã số mặt hàng. Nó phức tạp hơn thế một chút nhưng tôi đã cố gắng đơn giản hóa nó một chút và xóa dữ liệu nhạy cảm. Bảng hiện tại Số khách hàng duy nhất Tên khách hàng |
Tôi là một lập trình viên xuất sắc, rất giỏi!