2DX to framework Web UI, który składa się z wbudowanej w pamięć przeglądarki NoSQL i RDBMS hostującej interpreter JavaScript oparty na procedurach składowanych. Komponenty bazy danych NoSQL i RDBMS w 2DX są zgodne z tym samym schematem bazy danych Entity-Attribute-Value, zaprojektowanym tak, aby pomieścić serializowane dane w normalnej postaci. Został opracowany przez redukcjonizm relacyjnych modeli danych do serializowanych formatów danych, które można znaleźć w standardach branżowych, takich jak XML lub JSON.
Klient NoSQL dla przeglądarek internetowych to lekki obiekt JavaScript, który jest bazą danych dostarczaną ze zserializowanym interfejsem zapytań o dane zindeksowanym w celu zmniejszenia notacji Big-O w operacjach wyodrębniania. Różne typy dokumentów są obsługiwane przez odpowiednie sterowniki API. Obecnie obsługiwanym typem dokumentu jest „UI” dla drzew DOM witryny z obsługą „DB” dla danych relacyjnych i „OL” dla opracowywanych tabel przestawnych. Interfejsy klienta 2DX do struktur JavaScript innych firm, takich jak Angular lub jQuery, za pomocą określonych sterowników API, rozszerzających funkcjonalność interfejsu użytkownika klienta o szeroko stosowane narzędzia do tworzenia stron internetowych.
Strony internetowe zawarte w drzewie DOM dokumentu „UI” są wyświetlane na ekranach dzięki wbudowanemu silnikowi renderowania i buforowania HTML. Dla swoich operacji interfejsu klienta baza danych NoSQL tworzy w pamięci kontener DOM w momencie inicjalizacji „new JS2DX()”. Ta funkcja umożliwia bezpośredni dostęp do pamięci DB-UI. Benchmarki pokazują, że 2DX może renderować wiele stron internetowych w odstępach 10-20 milisekund i jest w stanie ładować drzewa DOM z ponad 2 milionami elementów HTML bez awarii okna przeglądarki.
Serwer 2DX to baza danych RDBMS zawierająca procedury składowane, które konwertują dane serializowane do postaci normalnej i odwrotnie. Procedury składowane reprezentują interpreter JavaScript, którego kod źródłowy programu jest przechowywany w normalnej postaci. Oprócz zatwierdzania przesłanych danych klienta, serwer 2DX jest w stanie uruchomić kompletne, zorientowane na logikę biznesową programy obiektowe napisane w silnie typowanym JavaScript. Łączy się z instancjami klienta przez sterownik CGI.
Ponieważ coraz więcej przedsiębiorstw wybiera NoSQL ze względu na szybkie wykonywanie zapytań, jego interoperacyjność z danymi relacyjnymi często pozostaje w warstwie środkowej aplikacji. 2DX eliminuje potrzebę warstwy środkowej ze środowiskiem programistycznym hostowanym w trwałych modułach przechowywanych natywnie dla RDBMS. Dane przesłane przez klientów są przetwarzane i przekazywane do relacyjnej bazy danych. Dzienniki transakcji ze zaktualizowanymi wierszami tabeli są asynchronicznie publikowane na serwerze NoSQL lub systemie plików. Instancje bazy danych klienta używają tej ostatniej do pobierania dzienników aktualizacji danych relacyjnych na potrzeby replikacji i natychmiastowej dostępności na ekranach interfejsu użytkownika. Gdy oczekujące transakcje są odtwarzane na instancjach klienta, stają się one zsynchronizowane z bazą danych serwera.
Konfiguracja klastra bazy danych klient/serwer 2DX zapewni niskie opóźnienia w dużych środowiskach danych, w których konieczne jest zatwierdzanie żądań klientów w relacyjnej bazie danych. Ponadto taki klaster zapewni, że operacje wejścia/wyjścia użytkownika będą rejestrowane w dziennikach transakcji RDBMS. Jego wydajność renderowania interfejsu użytkownika może otworzyć 2DX do użytku w usługach gier internetowych. W przyszłych wersjach planowane jest bezpośrednie przesyłanie dzienników bazy danych między komponentami bazy danych klienta i serwera w klastrze, które omijają serializację, a zastrzeżony serwer DBMS w celu zastąpienia ogólnego RDBMS.