Tôi tự hỏi bạn có hỏi đúng câu hỏi không. Tại sao bạn sử dụng Scala chứ không phải ngôn ngữ động? Có lẽ vì một số điều tốt đẹp mà Scala cung cấp cho bạn điều đó quan trọng đối với bạn và, tôi cho rằng, chất lượng mã của bạn. Vậy tại sao bạn không sử dụng cơ sở dữ liệu "được nhập tĩnh" (tức là dựa trên lược đồ)? Một lần nữa tôi chỉ giả định, nhưng khả năng đáp ứng với sự thay đổi đến với tâm trí. Cơ sở dữ liệu SQL sản xuất có xu hướng khủng khiếp là rất khó thay đổi và tái cấu trúc.
Vì vậy, dữ liệu của bạn bị nhập sai và mã của bạn được nhập mạnh mẽ. Nhưng một nơi nào đó bạn sẽ cần phải thực hiện quá trình chuyển đổi. Điều này có nghĩa là ở đâu đó, bạn sẽ có một "lược đồ" cho dữ liệu của bạn ngay cả khi cơ sở dữ liệu không có. Lược đồ này được định nghĩa bởi các lớp bạn đang ánh xạ các tài liệu Couch lên. Điều này làm cho cảm giác hoàn hảo; hầu hết việc sử dụng Couch mà tôi đã thấy có một khóa như "loại" và cho mỗi loại ít nhất một số bộ khóa phổ biến. Có thể ánh xạ bản đồ JSON tới các lớp Scala này hoặc sử dụng ví dụ: các công cụ phản chiếu lạ mắt (chậm hơn nhưng khá đẹp), hoặc một số tính năng nổi bật của Scala mà tôi chưa quen thuộc là một chi tiết. Bắt đầu với một cách dễ dàng nhưng chậm, sau đó xem nếu nó đủ nhanh.
Điều lớn xảy ra khi các lớp học của bạn, tức là lược đồ của bạn, thay đổi. Thay vì ALTER'ing các bảng của bạn, bạn có thể thay đổi lớp, đảm bảo rằng bạn làm điều gì đó thông minh nếu một số tài liệu mà bạn mong đợi bị thiếu (vì nó được dựa trên phiên bản cũ của lớp), và bạn tắt đi. Phản hồi thay đổi chưa bao giờ dễ dàng hơn thế, và mã của bạn vẫn được đánh máy tĩnh như nó có thể nhận được.
Nếu điều này không đủ tốt cho bạn, và bạn không muốn có sơ đồ nào, thì bạn có hiệu quả nói rằng bạn không muốn sử dụng các lớp để xác định và thao tác dữ liệu của bạn. Đó là tốt quá (mặc dù tôi không thể tưởng tượng một sử dụng), nhưng sau đó câu hỏi không phải là về năng động vs ngôn ngữ tĩnh, nhưng về việc liệu sử dụng các ngôn ngữ OO dựa trên lớp học ở tất cả.
Bạn có thể thấy câu hỏi này là: Ngôn ngữ động có phù hợp nhất với CouchDB không? – paulosuzart