我知道a BlockingCollection最适合消费者/生产者模式.然而,当我使用一个ActionBlock从TPL数据流库?
我最初的理解是针对IO操作,保持BlockingCollection同时CPU密集型操作适合于ActionBlock.但我觉得这不是整个故事...任何额外的见解?
.net task-parallel-library data-synchronization tpl-dataflow
我们有一个使用通用表设计的规范化 SQL Server 2008 数据库。因此,我们有通用表(实体、实例、关系、属性等),而不是为每个实体(例如产品、订单、订单项等)设置单独的表。
我们决定使用一个单独的非规范化数据库来快速检索数据。假设它们具有不同的架构,您能否告诉我同步这两个数据库的各种技术?
干杯,莫什
database sql-server synchronization data-migration data-synchronization
我们计划使用 Amazon Dynamo db 开发应用程序。实际上,这个应用程序正在从我客户的数据库中收集信息(我的客户正在使用 MYSQL、Oracle、MSsql/任何其他关系数据库),在我的应用程序中执行一些过程并将结果发送回客户的数据库。此同步过程应始终有效(或每 1 分钟间隔)。
我想知道是否有任何工具(或技巧)可用于 Amazon dynamo 数据库和关系数据库之间的同步?
relational-database bidirectional-relation data-synchronization amazon-dynamodb
问题
我有两个对象列表。每个对象包含以下内容:
GUID (允许确定对象是否相同 - 从业务角度来看)Timestamp (每次对象更改时更新到当前 UTC)Version (正整数;每次对象改变时递增)Deleted (布尔标志;切换到“真”而不是实际删除对象)Data (一些有用的有效载荷)接下来,我需要根据这些规则同步两个列表:
GUID仅出现在一个列表中,则应将其复制到另一个列表中GUID两个列表中都出现了一些对象,Version则应将具有较少的实例替换为具有较大的实例Version(如果版本相同,则无关紧要)实际要求:
解决方案#1(目前已实施)
T)Timestamp> T(即最近修改过的对象;在生产中它是 ... > ( T- day ) 以获得更好的健壮性)Version's 进行比较并保存到专用列表(如果需要)过程:
缺点:
T,这使算法变得脆弱:同步上次更新很容易,但很难确保列表完全同步(使用T1970-01-01 …所以有一点背景 - 我们有大量的数据源,从RDBMS到S3文件.我们希望将这些数据与其他各种数据仓库,数据库等同步和集成.
起初,这似乎是卡夫卡的典型模式.我们希望通过Kafka将数据更改流式传输到数据输出源.在我们的测试案例中,我们使用Oracle Golden Gate捕获更改并成功将更改推送到Kafka队列.但是,将这些更改推送到数据输出源已经证明具有挑战性.
我意识到如果我们只是向Kafka主题和队列添加新数据,这将非常有效.我们可以缓存更改并将更改写入各种数据输出源.然而,这种情况并非如此.我们将更新,删除,修改分区等.处理此问题的逻辑似乎要复杂得多.
我们尝试使用登台表和连接来更新/删除数据,但我觉得这会很快变得非常笨拙.
这就是我的问题 - 我们可以采取哪些不同的方法来处理这些操作?或者我们应该完全朝着不同的方向前进?
任何建议/帮助非常感谢.谢谢!
下图是我正在创建的 Web 应用程序的基本表示。
应用程序的基本操作如下:
这一切正常。我遇到的问题最好由以下情况表示。
所以我的问题是如何将所有 4 个(或更多)客户端上的 JSON 数据与 Node.js 服务器上的数据库保持实时同步?
我有一个现有的基于云的解决方案,它带有一个 web api,可以将数据从后端 SQL 数据库传输到客户端应用程序。都非常标准。我的 web api 是使用 .NET Core 构建的。这运行良好,我将现有的 web api 与已构建的各种 web 客户端一起使用。架构如下所示:
当前的解决方案需要扩展以支持使用 web api 的本地移动客户端应用程序(这里没有什么特别之处 - 通常他们会像任何其他客户端一样调用 web api)但是我必须满足这些新的要求客户端应用程序可用于离线场景。这意味着我不能期望设备上存在数据连接以便每次需要时调用我的 web api。我需要查看同步数据,以便它可以离线并在需要时发送回服务器。
想一想,数据将通过以下两种方式之一进行同步:
新架构如下:
所以 - 开始我的问题 - 有没有人知道在同步数据(单向和双向)或可能有内置同步代码的 NuGet 包方面遵循的良好设计模式?如果可能的话,我试图避免在同步方面重新发明轮子。
注意:仅供参考,本机移动应用程序将在 Visual Studio 2015 中使用 Xamarin 构建。
c# synchronisation data-synchronization xamarin asp.net-core
我正在使用 pysftp 库的get_r函数(https://pysftp.readthedocs.io/en/release_0.2.9/pysftp.html#pysftp.Connection.get_r)从 sftp 服务器获取目录结构的本地副本。
对于远程目录的内容已更改并且我只想获取自上次运行脚本以来更改的文件的情况,这是正确的方法吗?
该脚本应该能够递归地同步远程目录并镜像远程目录的状态 - fe 使用参数控制是否应该删除本地过时的文件(远程服务器上不再存在的文件),以及对应该获取现有文件和新文件。
用法示例:
from sftp_sync import sync_dir
sync_dir('/remote/path/', '/local/path/')
Run Code Online (Sandbox Code Playgroud) 我有一个私有 Docker 注册表正在运行。
任何用户都应该能够推送和拉取任何图像。因此,现在我根本没有使用任何用户标识。
但是,用户不应该能够欺骗注册表来覆盖其他用户的图像。
如果用户 A 上传 ourRegistry/myProgram:version_1,那么用户 B 应该无法上传标记为 ourRegistry/myProgram:version_2 的内容。
有没有办法将用户身份验证添加到私有注册表来做到这一点?
此外,注册表是已经拥有自己的注册用户数据库的服务器的一部分。有没有办法同步用户,让用户不必记住两个密码?
authentication user-permissions data-synchronization docker docker-registry
.net ×1
algorithm ×1
apache-kafka ×1
asp.net-core ×1
c# ×1
database ×1
docker ×1
java ×1
javascript ×1
json ×1
list ×1
node.js ×1
pysftp ×1
python ×1
sftp ×1
sql-server ×1
tpl-dataflow ×1
xamarin ×1